aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-06-21 19:56:19 +0000
committerJustin Clarke Casey2008-06-21 19:56:19 +0000
commitb290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6 (patch)
treebbc2b33cc84ba305709e325e580d64a5e07798ff /OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
parent* minor: start saving current prims xml to an objects/ directory in the archive (diff)
downloadopensim-SC-b290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6.zip
opensim-SC-b290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6.tar.gz
opensim-SC-b290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6.tar.bz2
opensim-SC-b290ce405f01ae4b52ba5d5ec1661a2ae44ba2d6.tar.xz
* Remove a bug I created in r5171 where taking an object would terminate the client session
* change code to use an explicit state variable instead of using SOG.Name = null to signal deletion
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs11
1 files changed, 9 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 0d759cf..814db05 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -124,7 +124,7 @@ namespace OpenSim.Region.Environment.Scenes
124 { 124 {
125 get { return RootPart.Name; } 125 get { return RootPart.Name; }
126 set { RootPart.Name = value; } 126 set { RootPart.Name = value; }
127 } 127 }
128 128
129 /// <summary> 129 /// <summary>
130 /// Added because the Parcel code seems to use it 130 /// Added because the Parcel code seems to use it
@@ -921,10 +921,16 @@ namespace OpenSim.Region.Environment.Scenes
921 } 921 }
922 922
923 /// <summary> 923 /// <summary>
924 /// Completely delete this group and tell all the scene presences about that deletion. 924 /// Delete this group from its scene and tell all the scene presences about that deletion.
925 /// </summary> 925 /// </summary>
926 public void DeleteGroup() 926 public void DeleteGroup()
927 { 927 {
928 // We need to keep track of this state in case this group is still queued for backup.
929 // FIXME: This is a poor temporary solution, since it still leaves plenty of scope for race
930 // conditions where a user deletes an entity while it is being stored. Really, the update
931 // code needs a redesign.
932 m_isDeleted = true;
933
928 DetachFromBackup(this); 934 DetachFromBackup(this);
929 935
930 lock (m_parts) 936 lock (m_parts)
@@ -944,6 +950,7 @@ namespace OpenSim.Region.Environment.Scenes
944 } 950 }
945 } 951 }
946 } 952 }
953
947 public void FakeDeleteGroup() 954 public void FakeDeleteGroup()
948 { 955 {
949 foreach (SceneObjectPart part in m_parts.Values) 956 foreach (SceneObjectPart part in m_parts.Values)