diff options
author | Charles Krinke | 2008-05-25 19:21:21 +0000 |
---|---|---|
committer | Charles Krinke | 2008-05-25 19:21:21 +0000 |
commit | 36b8196f7a1d1a2350649d018bdd344e44e35461 (patch) | |
tree | 6497b39d8f63d924038cda835e5ac5681b495120 /OpenSim | |
parent | Thank you kindly, Grumly57 for a patch to improve (diff) | |
download | opensim-SC-36b8196f7a1d1a2350649d018bdd344e44e35461.zip opensim-SC-36b8196f7a1d1a2350649d018bdd344e44e35461.tar.gz opensim-SC-36b8196f7a1d1a2350649d018bdd344e44e35461.tar.bz2 opensim-SC-36b8196f7a1d1a2350649d018bdd344e44e35461.tar.xz |
Thank you kindly, Tiffany for a patch that helps:
Drag copy a prim and the prim that is moved, persists.
The prim that is created does not survive a restart.
Diffstat (limited to 'OpenSim')
-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( |