diff options
-rw-r--r-- | OpenSim/Region/Environment/Scenes/InnerScene.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs | 9 |
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( |