aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs1
-rw-r--r--OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs15
2 files changed, 11 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index d7458b7..4aa19d1 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -5734,6 +5734,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5734 AvatarWearingArgs wearingArgs = new AvatarWearingArgs(); 5734 AvatarWearingArgs wearingArgs = new AvatarWearingArgs();
5735 for (int i = 0; i < nowWearing.WearableData.Length; i++) 5735 for (int i = 0; i < nowWearing.WearableData.Length; i++)
5736 { 5736 {
5737 m_log.DebugFormat("[XXX]: Wearable type {0} item {1}", nowWearing.WearableData[i].WearableType, nowWearing.WearableData[i].ItemID);
5737 AvatarWearingArgs.Wearable wearable = 5738 AvatarWearingArgs.Wearable wearable =
5738 new AvatarWearingArgs.Wearable(nowWearing.WearableData[i].ItemID, 5739 new AvatarWearingArgs.Wearable(nowWearing.WearableData[i].ItemID,
5739 nowWearing.WearableData[i].WearableType); 5740 nowWearing.WearableData[i].WearableType);
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
index 6cbd8bd..7f482cb 100644
--- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
@@ -356,17 +356,16 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
356 356
357// m_log.WarnFormat("[AVATAR FACTORY MODULE]: AvatarIsWearing called for {0}",client.AgentId); 357// m_log.WarnFormat("[AVATAR FACTORY MODULE]: AvatarIsWearing called for {0}",client.AgentId);
358 358
359 AvatarAppearance avatAppearance = new AvatarAppearance(sp.Appearance); 359 AvatarAppearance avatAppearance = new AvatarAppearance(sp.Appearance, false);
360 360
361 foreach (AvatarWearingArgs.Wearable wear in e.NowWearing) 361 foreach (AvatarWearingArgs.Wearable wear in e.NowWearing)
362 { 362 {
363 if (wear.Type < AvatarWearable.MAX_WEARABLES) 363 if (wear.Type < AvatarWearable.MAX_WEARABLES)
364 { 364 avatAppearance.Wearables[wear.Type].Add(wear.ItemID,UUID.Zero);
365 AvatarWearable newWearable = new AvatarWearable(wear.ItemID,UUID.Zero);
366 avatAppearance.SetWearable(wear.Type, newWearable);
367 }
368 } 365 }
369 366
367 avatAppearance.GetAssetsFrom(sp.Appearance);
368
370 // This could take awhile since it needs to pull inventory 369 // This could take awhile since it needs to pull inventory
371 SetAppearanceAssets(sp.UUID, ref avatAppearance); 370 SetAppearanceAssets(sp.UUID, ref avatAppearance);
372 371
@@ -384,6 +383,12 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
384 { 383 {
385 for (int j = 0 ; j < appearance.Wearables[j].Count ; j ++ ) 384 for (int j = 0 ; j < appearance.Wearables[j].Count ; j ++ )
386 { 385 {
386 if (appearance.Wearables[i][j].ItemID == UUID.Zero)
387 continue;
388
389 // Ignore ruth's assets
390 if (appearance.Wearables[i][j].ItemID == AvatarWearable.DefaultWearables[i][0].ItemID)
391 continue;
387 InventoryItemBase baseItem = new InventoryItemBase(appearance.Wearables[i][j].ItemID, userID); 392 InventoryItemBase baseItem = new InventoryItemBase(appearance.Wearables[i][j].ItemID, userID);
388 baseItem = invService.GetItem(baseItem); 393 baseItem = invService.GetItem(baseItem);
389 394