diff options
Diffstat (limited to 'OpenSim/Framework/AvatarAppearance.cs')
-rw-r--r-- | OpenSim/Framework/AvatarAppearance.cs | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/OpenSim/Framework/AvatarAppearance.cs b/OpenSim/Framework/AvatarAppearance.cs index 5258760..cabba8b 100644 --- a/OpenSim/Framework/AvatarAppearance.cs +++ b/OpenSim/Framework/AvatarAppearance.cs | |||
@@ -211,14 +211,19 @@ namespace OpenSim.Framework | |||
211 | 211 | ||
212 | m_serial = appearance.Serial; | 212 | m_serial = appearance.Serial; |
213 | 213 | ||
214 | ClearWearables(); | ||
215 | |||
216 | if (copyWearables && (appearance.Wearables != null)) | 214 | if (copyWearables && (appearance.Wearables != null)) |
217 | { | 215 | { |
218 | m_wearables = new AvatarWearable[appearance.Wearables.Length]; | 216 | m_wearables = new AvatarWearable[appearance.Wearables.Length]; |
219 | for (int i = 0; i < appearance.Wearables.Length; i++) | 217 | for (int i = 0; i < appearance.Wearables.Length; i++) |
220 | SetWearable(i,appearance.Wearables[i]); | 218 | { |
219 | m_wearables[i] = new AvatarWearable(); | ||
220 | AvatarWearable wearable = appearance.Wearables[i]; | ||
221 | for (int j = 0; j < wearable.Count; j++) | ||
222 | m_wearables[i].Add(wearable[j].ItemID, wearable[j].AssetID); | ||
223 | } | ||
221 | } | 224 | } |
225 | else | ||
226 | ClearWearables(); | ||
222 | 227 | ||
223 | m_texture = null; | 228 | m_texture = null; |
224 | if (appearance.Texture != null) | 229 | if (appearance.Texture != null) |