aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/Environment/Scenes/InnerScene.cs7
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs9
2 files changed, 10 insertions, 6 deletions
diff --git a/OpenSim/Region/Environment/Scenes/InnerScene.cs b/OpenSim/Region/Environment/Scenes/InnerScene.cs
index 65012ad..84de71f 100644
--- a/OpenSim/Region/Environment/Scenes/InnerScene.cs
+++ b/OpenSim/Region/Environment/Scenes/InnerScene.cs
@@ -1417,6 +1417,13 @@ namespace OpenSim.Region.Environment.Scenes
1417 Entities.Add(copy.UUID, copy); 1417 Entities.Add(copy.UUID, copy);
1418 } 1418 }
1419 1419
1420 // Since we copy from a source group that is in selected
1421 // state, but the copy is shown deselected in the viewer,
1422 // We need to clear the selection flag here, else that
1423 // prim never gets persisted at all. The client doesn't
1424 // think it's selected, so it will never send a deselect...
1425 copy.IsSelected=false;
1426
1420 m_numPrim++; 1427 m_numPrim++;
1421 1428
1422 copy.StartScripts(); 1429 copy.StartScripts();
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index 4de10c7..25b3d16 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -1078,11 +1078,8 @@ namespace OpenSim.Region.Environment.Scenes
1078 // don't backup while it's selected or you're asking for changes mid stream. 1078 // don't backup while it's selected or you're asking for changes mid stream.
1079 if (HasGroupChanged) 1079 if (HasGroupChanged)
1080 { 1080 {
1081 // FIXME: Disabling this check temporarily since it seems that in some (as yet unidentified) 1081 if ((!IsSelected) && (RootPart != null))
1082 // circumstances with shift copy, we never register that some prims have been deselected, even though 1082 {
1083 // they are no longer selected in the client.
1084// if (!IsSelected)
1085// {
1086 m_log.InfoFormat("[SCENE OBJECT GROUP]: Storing object {0}", UUID); 1083 m_log.InfoFormat("[SCENE OBJECT GROUP]: Storing object {0}", UUID);
1087 1084
1088 SceneObjectGroup backup_group = Copy(OwnerID, GroupID, false); 1085 SceneObjectGroup backup_group = Copy(OwnerID, GroupID, false);
@@ -1093,7 +1090,7 @@ namespace OpenSim.Region.Environment.Scenes
1093 backup_group.ForEachPart(delegate(SceneObjectPart part) { part.ProcessInventoryBackup(datastore); }); 1090 backup_group.ForEachPart(delegate(SceneObjectPart part) { part.ProcessInventoryBackup(datastore); });
1094 1091
1095 backup_group = null; 1092 backup_group = null;
1096// } 1093 }
1097// else 1094// else
1098// { 1095// {
1099// m_log.DebugFormat( 1096// m_log.DebugFormat(