aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie Thielker2010-05-31 19:00:02 +0200
committerMelanie2010-05-31 17:55:56 +0100
commite515467c5e9a03de8d0df8e24d1ca70636f6e099 (patch)
tree25ef47db6265bbcbb9d5578a1577c125f1ce7340 /OpenSim/Region
parentFix a nullref in EventManager caused by RegionReady not setting the scene (diff)
downloadopensim-SC-e515467c5e9a03de8d0df8e24d1ca70636f6e099.zip
opensim-SC-e515467c5e9a03de8d0df8e24d1ca70636f6e099.tar.gz
opensim-SC-e515467c5e9a03de8d0df8e24d1ca70636f6e099.tar.bz2
opensim-SC-e515467c5e9a03de8d0df8e24d1ca70636f6e099.tar.xz
Fix create selection getting overwritten by multiple updates for the same prim.
Diffstat (limited to 'OpenSim/Region')
-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 0945bce..a516a54 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -4558,11 +4558,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4558 4558
4559 if (recipientID == data.OwnerID) 4559 if (recipientID == data.OwnerID)
4560 { 4560 {
4561 if ((data.Flags & PrimFlags.CreateSelected) != 0) 4561 if (data.CreateSelected)
4562 { 4562 {
4563 // Only send this flag once, then unset it 4563 // Only send this flag once, then unset it
4564 flags |= PrimFlags.CreateSelected; 4564 flags |= PrimFlags.CreateSelected;
4565 data.Flags &= ~PrimFlags.CreateSelected; 4565 data.CreateSelected = false;
4566 } 4566 }
4567 } 4567 }
4568 4568
diff --git a/OpenSim/Region/Framework/Scenes/SceneGraph.cs b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
index e923a92..a02f614 100644
--- a/OpenSim/Region/Framework/Scenes/SceneGraph.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneGraph.cs
@@ -1500,7 +1500,7 @@ namespace OpenSim.Region.Framework.Scenes
1500 1500
1501 // We need to explicitly resend the newly link prim's object properties since no other actions 1501 // We need to explicitly resend the newly link prim's object properties since no other actions
1502 // occur on link to invoke this elsewhere (such as object selection) 1502 // occur on link to invoke this elsewhere (such as object selection)
1503 parentGroup.RootPart.AddFlag(PrimFlags.CreateSelected); 1503 parentGroup.RootPart.CreateSelected = true;
1504 parentGroup.TriggerScriptChangedEvent(Changed.LINK); 1504 parentGroup.TriggerScriptChangedEvent(Changed.LINK);
1505 parentGroup.HasGroupChanged = true; 1505 parentGroup.HasGroupChanged = true;
1506 parentGroup.ScheduleGroupForFullUpdate(); 1506 parentGroup.ScheduleGroupForFullUpdate();
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 4453beb..ab7e3e9 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -2254,7 +2254,7 @@ namespace OpenSim.Region.Framework.Scenes
2254 linkPart.LinkNum = 2; 2254 linkPart.LinkNum = 2;
2255 2255
2256 linkPart.SetParent(this); 2256 linkPart.SetParent(this);
2257 linkPart.AddFlag(PrimFlags.CreateSelected); 2257 linkPart.CreateSelected = true;
2258 2258
2259 //if (linkPart.PhysActor != null) 2259 //if (linkPart.PhysActor != null)
2260 //{ 2260 //{
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
index b36b9bf..ce1972f 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
@@ -387,7 +387,6 @@ namespace OpenSim.Region.Framework.Scenes
387 // the prim into an agent inventory (Linden client reports that the "Object not found for drop" in its log 387 // the prim into an agent inventory (Linden client reports that the "Object not found for drop" in its log
388 388
389 _flags = 0; 389 _flags = 0;
390 _flags |= PrimFlags.CreateSelected;
391 390
392 TrimPermissions(); 391 TrimPermissions();
393 //m_undo = new UndoStack<UndoState>(ParentGroup.GetSceneMaxUndo()); 392 //m_undo = new UndoStack<UndoState>(ParentGroup.GetSceneMaxUndo());
@@ -417,6 +416,7 @@ namespace OpenSim.Region.Framework.Scenes
417 private PrimFlags _flags = 0; 416 private PrimFlags _flags = 0;
418 private DateTime m_expires; 417 private DateTime m_expires;
419 private DateTime m_rezzed; 418 private DateTime m_rezzed;
419 private bool m_createSelected = true;
420 420
421 public UUID CreatorID 421 public UUID CreatorID
422 { 422 {
@@ -967,6 +967,13 @@ namespace OpenSim.Region.Framework.Scenes
967 set { m_updateFlag = value; } 967 set { m_updateFlag = value; }
968 } 968 }
969 969
970 [XmlIgnore]
971 public bool CreateSelected
972 {
973 get { return m_createSelected; }
974 set { m_createSelected = value; }
975 }
976
970 #endregion 977 #endregion
971 978
972//--------------- 979//---------------
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
index 7a9a92d..6e9a823 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
@@ -3506,7 +3506,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
3506 } 3506 }
3507 3507
3508 parentPrim.TriggerScriptChangedEvent(Changed.LINK); 3508 parentPrim.TriggerScriptChangedEvent(Changed.LINK);
3509 parentPrim.RootPart.AddFlag(PrimFlags.CreateSelected); 3509 parentPrim.RootPart.CreateSelected = true;
3510 parentPrim.HasGroupChanged = true; 3510 parentPrim.HasGroupChanged = true;
3511 parentPrim.ScheduleGroupForFullUpdate(); 3511 parentPrim.ScheduleGroupForFullUpdate();
3512 3512