diff options
author | Melanie Thielker | 2008-10-20 22:14:24 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-10-20 22:14:24 +0000 |
commit | 81e220af8d611f401bf128bfdc1bd3d270c14f15 (patch) | |
tree | 05fdfed54432e377af51a00911dce5fd3da1f987 | |
parent | From: Alan Webb (alan_webb@us.ibm.com) (diff) | |
download | opensim-SC_OLD-81e220af8d611f401bf128bfdc1bd3d270c14f15.zip opensim-SC_OLD-81e220af8d611f401bf128bfdc1bd3d270c14f15.tar.gz opensim-SC_OLD-81e220af8d611f401bf128bfdc1bd3d270c14f15.tar.bz2 opensim-SC_OLD-81e220af8d611f401bf128bfdc1bd3d270c14f15.tar.xz |
Mantis #2439
MemberwiseClone() also clones the "already backed up" flag, preventing prims
created by drag-copying from being persisted. If such a prim is made the root
prims of a link set, the entire set will not be persisted. Fixed now.
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs index 7f1ecae..dd7628d 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | |||
@@ -1009,7 +1009,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1009 | // that they don't happen, otherwise the deleted objects will reappear | 1009 | // that they don't happen, otherwise the deleted objects will reappear |
1010 | m_isDeleted = true; | 1010 | m_isDeleted = true; |
1011 | 1011 | ||
1012 | // DetachFromBackup(); | 1012 | DetachFromBackup(); |
1013 | 1013 | ||
1014 | foreach (SceneObjectPart part in m_parts.Values) | 1014 | foreach (SceneObjectPart part in m_parts.Values) |
1015 | { | 1015 | { |
@@ -1278,6 +1278,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1278 | public SceneObjectGroup Copy(UUID cAgentID, UUID cGroupID, bool userExposed) | 1278 | public SceneObjectGroup Copy(UUID cAgentID, UUID cGroupID, bool userExposed) |
1279 | { | 1279 | { |
1280 | SceneObjectGroup dupe = (SceneObjectGroup) MemberwiseClone(); | 1280 | SceneObjectGroup dupe = (SceneObjectGroup) MemberwiseClone(); |
1281 | dupe.m_isBackedUp = false; | ||
1281 | dupe.m_parts = new Dictionary<UUID, SceneObjectPart>(); | 1282 | dupe.m_parts = new Dictionary<UUID, SceneObjectPart>(); |
1282 | dupe.m_parts.Clear(); | 1283 | dupe.m_parts.Clear(); |
1283 | //dupe.OwnerID = AgentID; | 1284 | //dupe.OwnerID = AgentID; |
@@ -1860,6 +1861,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
1860 | // The traffic caused is always going to be pretty minor, so it's not high priority | 1861 | // The traffic caused is always going to be pretty minor, so it's not high priority |
1861 | //objectGroup.DeleteGroup(); | 1862 | //objectGroup.DeleteGroup(); |
1862 | 1863 | ||
1864 | AttachToBackup(); | ||
1863 | HasGroupChanged = true; | 1865 | HasGroupChanged = true; |
1864 | ScheduleGroupForFullUpdate(); | 1866 | ScheduleGroupForFullUpdate(); |
1865 | } | 1867 | } |