aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMelanie Thielker2010-05-31 19:00:02 +0200
committerMelanie Thielker2010-05-31 19:00:02 +0200
commitd4b4cbf5a5fead727b5e2e48f69d2016eb942cff (patch)
tree4382d4fd3d53cf6bae3daf971793f19e8e1aa967
parentFix a nullref in EventManager caused by RegionReady not setting the scene (diff)
downloadopensim-SC_OLD-d4b4cbf5a5fead727b5e2e48f69d2016eb942cff.zip
opensim-SC_OLD-d4b4cbf5a5fead727b5e2e48f69d2016eb942cff.tar.gz
opensim-SC_OLD-d4b4cbf5a5fead727b5e2e48f69d2016eb942cff.tar.bz2
opensim-SC_OLD-d4b4cbf5a5fead727b5e2e48f69d2016eb942cff.tar.xz
Fix create selection getting overwritten by multiple updates for the same prim.
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs4
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneGraph.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectPart.cs9
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs2
5 files changed, 13 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 51cc763..fe8475a 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4561,11 +4561,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4561 4561
4562 if (recipientID == data.OwnerID) 4562 if (recipientID == data.OwnerID)
4563 { 4563 {
4564 if ((data.Flags & PrimFlags.CreateSelected) != 0) 4564 if (data.CreateSelected)
4565 { 4565 {
4566 // Only send this flag once, then unset it 4566 // Only send this flag once, then unset it
4567 flags |= PrimFlags.CreateSelected; 4567 flags |= PrimFlags.CreateSelected;
4568 data.Flags &= ~PrimFlags.CreateSelected; 4568 data.CreateSelected = false;
4569 } 4569 }
4570 } 4570 }
4571 4571
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index 445c2c8..5fbc658 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -1542,7 +1542,7 @@ namespace OpenSim.Region.Framework.Scenes
1542 1542
1543 // We need to explicitly resend the newly link prim's object properties since no other actions 1543 // We need to explicitly resend the newly link prim's object properties since no other actions
1544 // occur on link to invoke this elsewhere (such as object selection) 1544 // occur on link to invoke this elsewhere (such as object selection)
1545 parentGroup.RootPart.AddFlag(PrimFlags.CreateSelected); 1545 parentGroup.RootPart.CreateSelected = true;
1546 parentGroup.TriggerScriptChangedEvent(Changed.LINK); 1546 parentGroup.TriggerScriptChangedEvent(Changed.LINK);
1547 } 1547 }
1548 finally 1548 finally
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 9ebb168..509ec01 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2486,7 +2486,7 @@ namespace OpenSim.Region.Framework.Scenes
2486 linkPart.LinkNum = 2; 2486 linkPart.LinkNum = 2;
2487 2487
2488 linkPart.SetParent(this); 2488 linkPart.SetParent(this);
2489 linkPart.AddFlag(PrimFlags.CreateSelected); 2489 linkPart.CreateSelected = true;
2490 2490
2491 //if (linkPart.PhysActor != null) 2491 //if (linkPart.PhysActor != null)
2492 //{ 2492 //{
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index 6e73b65..2f4191d 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -388,7 +388,6 @@ namespace OpenSim.Region.Framework.Scenes
388 // the prim into an agent inventory (Linden client reports that the "Object not found for drop" in its log 388 // the prim into an agent inventory (Linden client reports that the "Object not found for drop" in its log
389 389
390 _flags = 0; 390 _flags = 0;
391 _flags |= PrimFlags.CreateSelected;
392 391
393 TrimPermissions(); 392 TrimPermissions();
394 //m_undo = new UndoStack<UndoState>(ParentGroup.GetSceneMaxUndo()); 393 //m_undo = new UndoStack<UndoState>(ParentGroup.GetSceneMaxUndo());
@@ -418,6 +417,7 @@ namespace OpenSim.Region.Framework.Scenes
418 private PrimFlags _flags = 0; 417 private PrimFlags _flags = 0;
419 private DateTime m_expires; 418 private DateTime m_expires;
420 private DateTime m_rezzed; 419 private DateTime m_rezzed;
420 private bool m_createSelected = true;
421 421
422 public UUID CreatorID 422 public UUID CreatorID
423 { 423 {
@@ -978,6 +978,13 @@ namespace OpenSim.Region.Framework.Scenes
978 set { m_updateFlag = value; } 978 set { m_updateFlag = value; }
979 } 979 }
980 980
981 [XmlIgnore]
982 public bool CreateSelected
983 {
984 get { return m_createSelected; }
985 set { m_createSelected = value; }
986 }
987
981 #endregion 988 #endregion
982 989
983//--------------- 990//---------------
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index bb02fa3..228ab6d 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3742,7 +3742,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3742 } 3742 }
3743 3743
3744 parentPrim.TriggerScriptChangedEvent(Changed.LINK); 3744 parentPrim.TriggerScriptChangedEvent(Changed.LINK);
3745 parentPrim.RootPart.AddFlag(PrimFlags.CreateSelected); 3745 parentPrim.RootPart.CreateSelected = true;
3746 parentPrim.HasGroupChanged = true; 3746 parentPrim.HasGroupChanged = true;
3747 parentPrim.ScheduleGroupForFullUpdate(); 3747 parentPrim.ScheduleGroupForFullUpdate();
3748 3748