diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectPart.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index eefe8bb..5c4a2a3 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -508,7 +508,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
508 | public UUID UUID | 508 | public UUID UUID |
509 | { | 509 | { |
510 | get { return m_uuid; } | 510 | get { return m_uuid; } |
511 | set { m_uuid = value; } | 511 | set |
512 | { | ||
513 | m_uuid = value; | ||
514 | |||
515 | // This is necessary so that TaskInventoryItem parent ids correctly reference the new uuid of this part | ||
516 | if (Inventory != null) | ||
517 | Inventory.ResetInventoryIDs(); | ||
518 | } | ||
512 | } | 519 | } |
513 | 520 | ||
514 | public uint LocalId | 521 | public uint LocalId |
@@ -1027,12 +1034,12 @@ namespace OpenSim.Region.Framework.Scenes | |||
1027 | return m_mediaUrl; | 1034 | return m_mediaUrl; |
1028 | } | 1035 | } |
1029 | 1036 | ||
1030 | set | 1037 | set |
1031 | { | 1038 | { |
1032 | m_mediaUrl = value; | 1039 | m_mediaUrl = value; |
1033 | 1040 | ||
1034 | if (ParentGroup != null) | 1041 | if (ParentGroup != null) |
1035 | ParentGroup.HasGroupChanged = true; | 1042 | ParentGroup.HasGroupChanged = true; |
1036 | } | 1043 | } |
1037 | } | 1044 | } |
1038 | 1045 | ||
@@ -1045,7 +1052,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1045 | // m_log.DebugFormat("[SOP]: Setting CreateSelected to {0} for {1} {2}", value, Name, UUID); | 1052 | // m_log.DebugFormat("[SOP]: Setting CreateSelected to {0} for {1} {2}", value, Name, UUID); |
1046 | m_createSelected = value; | 1053 | m_createSelected = value; |
1047 | } | 1054 | } |
1048 | } | 1055 | } |
1049 | 1056 | ||
1050 | #endregion | 1057 | #endregion |
1051 | 1058 | ||
@@ -1207,7 +1214,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1207 | 1214 | ||
1208 | /// <summary> | 1215 | /// <summary> |
1209 | /// Property flags. See OpenMetaverse.PrimFlags | 1216 | /// Property flags. See OpenMetaverse.PrimFlags |
1210 | /// </summary> | 1217 | /// </summary> |
1211 | /// Example properties are PrimFlags.Phantom and PrimFlags.DieAtEdge | 1218 | /// Example properties are PrimFlags.Phantom and PrimFlags.DieAtEdge |
1212 | public PrimFlags Flags | 1219 | public PrimFlags Flags |
1213 | { | 1220 | { |
@@ -1372,7 +1379,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1372 | 1379 | ||
1373 | /// <summary> | 1380 | /// <summary> |
1374 | /// Tell the scene presence that it should send updates for this part to its client | 1381 | /// Tell the scene presence that it should send updates for this part to its client |
1375 | /// </summary> | 1382 | /// </summary> |
1376 | public void AddFullUpdateToAvatar(ScenePresence presence) | 1383 | public void AddFullUpdateToAvatar(ScenePresence presence) |
1377 | { | 1384 | { |
1378 | presence.SceneViewer.QueuePartForUpdate(this); | 1385 | presence.SceneViewer.QueuePartForUpdate(this); |
@@ -1431,7 +1438,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1431 | 1438 | ||
1432 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence sp) | 1439 | m_parentGroup.Scene.ForEachScenePresence(delegate(ScenePresence sp) |
1433 | { | 1440 | { |
1434 | if(!sp.IsChildAgent) | 1441 | if (!sp.IsChildAgent) |
1435 | sp.ControllingClient.SendAttachedSoundGainChange(UUID, (float)volume); | 1442 | sp.ControllingClient.SendAttachedSoundGainChange(UUID, (float)volume); |
1436 | }); | 1443 | }); |
1437 | } | 1444 | } |
@@ -1683,7 +1690,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1683 | 1690 | ||
1684 | // m_log.DebugFormat("[SCENE OBJECT PART]: Clone of {0} {1} finished", Name, UUID); | 1691 | // m_log.DebugFormat("[SCENE OBJECT PART]: Clone of {0} {1} finished", Name, UUID); |
1685 | 1692 | ||
1686 | return dupe; | 1693 | return dupe; |
1687 | } | 1694 | } |
1688 | 1695 | ||
1689 | protected void AssetReceived(string id, Object sender, AssetBase asset) | 1696 | protected void AssetReceived(string id, Object sender, AssetBase asset) |
@@ -1993,10 +2000,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
1993 | } | 2000 | } |
1994 | 2001 | ||
1995 | public uint GetEffectiveObjectFlags() | 2002 | public uint GetEffectiveObjectFlags() |
1996 | { | 2003 | { |
1997 | // Commenting this section of code out since it doesn't actually do anything, as enums are handled by | 2004 | // Commenting this section of code out since it doesn't actually do anything, as enums are handled by |
1998 | // value rather than reference | 2005 | // value rather than reference |
1999 | // PrimFlags f = _flags; | 2006 | // PrimFlags f = _flags; |
2000 | // if (m_parentGroup == null || m_parentGroup.RootPart == this) | 2007 | // if (m_parentGroup == null || m_parentGroup.RootPart == this) |
2001 | // f &= ~(PrimFlags.Touch | PrimFlags.Money); | 2008 | // f &= ~(PrimFlags.Touch | PrimFlags.Money); |
2002 | 2009 | ||
@@ -2793,7 +2800,6 @@ namespace OpenSim.Region.Framework.Scenes | |||
2793 | UUID = UUID.Random(); | 2800 | UUID = UUID.Random(); |
2794 | LinkNum = linkNum; | 2801 | LinkNum = linkNum; |
2795 | LocalId = 0; | 2802 | LocalId = 0; |
2796 | Inventory.ResetInventoryIDs(); | ||
2797 | } | 2803 | } |
2798 | 2804 | ||
2799 | /// <summary> | 2805 | /// <summary> |
@@ -4756,7 +4762,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4756 | if (ParentGroup == null || ParentGroup.IsDeleted) | 4762 | if (ParentGroup == null || ParentGroup.IsDeleted) |
4757 | return; | 4763 | return; |
4758 | 4764 | ||
4759 | if (IsAttachment && ParentGroup.RootPart != this) | 4765 | if (IsAttachment && ParentGroup.RootPart != this) |
4760 | return; | 4766 | return; |
4761 | 4767 | ||
4762 | // Causes this thread to dig into the Client Thread Data. | 4768 | // Causes this thread to dig into the Client Thread Data. |