diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs index 76c9046..d6fe347 100644 --- a/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs +++ b/OpenSim/ApplicationPlugins/RemoteController/RemoteAdminPlugin.cs | |||
@@ -1590,12 +1590,9 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
1590 | { | 1590 | { |
1591 | m_log.DebugFormat("[RADMIN] Initializing inventory for {0} from {1}", destination, source); | 1591 | m_log.DebugFormat("[RADMIN] Initializing inventory for {0} from {1}", destination, source); |
1592 | Scene scene = m_application.SceneManager.CurrentOrFirstScene; | 1592 | Scene scene = m_application.SceneManager.CurrentOrFirstScene; |
1593 | AvatarAppearance avatarAppearance = null; | ||
1594 | AvatarData avatar = scene.AvatarService.GetAvatar(source); | ||
1595 | if (avatar != null) | ||
1596 | avatarAppearance = avatar.ToAvatarAppearance(source); | ||
1597 | 1593 | ||
1598 | // If the model has no associated appearance we're done. | 1594 | // If the model has no associated appearance we're done. |
1595 | AvatarAppearance avatarAppearance = scene.AvatarService.GetAppearance(source); | ||
1599 | if (avatarAppearance == null) | 1596 | if (avatarAppearance == null) |
1600 | return; | 1597 | return; |
1601 | 1598 | ||
@@ -1609,8 +1606,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
1609 | { | 1606 | { |
1610 | CopyWearablesAndAttachments(destination, source, avatarAppearance); | 1607 | CopyWearablesAndAttachments(destination, source, avatarAppearance); |
1611 | 1608 | ||
1612 | AvatarData avatarData = new AvatarData(avatarAppearance); | 1609 | scene.AvatarService.SetAppearance(destination, avatarAppearance); |
1613 | scene.AvatarService.SetAvatar(destination, avatarData); | ||
1614 | } | 1610 | } |
1615 | catch (Exception e) | 1611 | catch (Exception e) |
1616 | { | 1612 | { |
@@ -1641,8 +1637,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
1641 | } | 1637 | } |
1642 | } | 1638 | } |
1643 | 1639 | ||
1644 | AvatarData avatarData = new AvatarData(avatarAppearance); | 1640 | scene.AvatarService.SetAppearance(destination, avatarAppearance); |
1645 | scene.AvatarService.SetAvatar(destination, avatarData); | ||
1646 | } | 1641 | } |
1647 | catch (Exception e) | 1642 | catch (Exception e) |
1648 | { | 1643 | { |
@@ -1737,12 +1732,12 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
1737 | } | 1732 | } |
1738 | 1733 | ||
1739 | // Attachments | 1734 | // Attachments |
1740 | Dictionary<int, UUID[]> attachments = avatarAppearance.GetAttachmentDictionary(); | 1735 | Dictionary<int, AvatarAttachment> attachments = avatarAppearance.Attachments; |
1741 | 1736 | ||
1742 | foreach (KeyValuePair<int, UUID[]> attachment in attachments) | 1737 | foreach (KeyValuePair<int, AvatarAttachment> attachment in attachments) |
1743 | { | 1738 | { |
1744 | int attachpoint = attachment.Key; | 1739 | int attachpoint = attachment.Value.AttachPoint; |
1745 | UUID itemID = attachment.Value[0]; | 1740 | UUID itemID = attachment.Value.ItemID; |
1746 | 1741 | ||
1747 | if (itemID != UUID.Zero) | 1742 | if (itemID != UUID.Zero) |
1748 | { | 1743 | { |
@@ -2026,10 +2021,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
2026 | if (include) | 2021 | if (include) |
2027 | { | 2022 | { |
2028 | // Setup for appearance processing | 2023 | // Setup for appearance processing |
2029 | AvatarData avatarData = scene.AvatarService.GetAvatar(ID); | 2024 | avatarAppearance = scene.AvatarService.GetAppearance(ID); |
2030 | if (avatarData != null) | 2025 | if (avatarAppearance == null) |
2031 | avatarAppearance = avatarData.ToAvatarAppearance(ID); | ||
2032 | else | ||
2033 | avatarAppearance = new AvatarAppearance(); | 2026 | avatarAppearance = new AvatarAppearance(); |
2034 | 2027 | ||
2035 | AvatarWearable[] wearables = avatarAppearance.Wearables; | 2028 | AvatarWearable[] wearables = avatarAppearance.Wearables; |
@@ -2194,8 +2187,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController | |||
2194 | m_log.DebugFormat("[RADMIN] Outfit {0} load completed", outfitName); | 2187 | m_log.DebugFormat("[RADMIN] Outfit {0} load completed", outfitName); |
2195 | } // foreach outfit | 2188 | } // foreach outfit |
2196 | m_log.DebugFormat("[RADMIN] Inventory update complete for {0}", name); | 2189 | m_log.DebugFormat("[RADMIN] Inventory update complete for {0}", name); |
2197 | AvatarData avatarData2 = new AvatarData(avatarAppearance); | 2190 | scene.AvatarService.SetAppearance(ID, avatarAppearance); |
2198 | scene.AvatarService.SetAvatar(ID, avatarData2); | ||
2199 | } | 2191 | } |
2200 | catch (Exception e) | 2192 | catch (Exception e) |
2201 | { | 2193 | { |