Fix create selection getting overwritten by multiple updates for the same prim.

avinationmerge
Melanie Thielker 2010-05-31 19:00:02 +02:00
parent bbb4d6e4c9
commit d4b4cbf5a5
5 changed files with 13 additions and 6 deletions

View File

@ -4561,11 +4561,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (recipientID == data.OwnerID)
{
if ((data.Flags & PrimFlags.CreateSelected) != 0)
if (data.CreateSelected)
{
// Only send this flag once, then unset it
flags |= PrimFlags.CreateSelected;
data.Flags &= ~PrimFlags.CreateSelected;
data.CreateSelected = false;
}
}

View File

@ -1542,7 +1542,7 @@ namespace OpenSim.Region.Framework.Scenes
// We need to explicitly resend the newly link prim's object properties since no other actions
// occur on link to invoke this elsewhere (such as object selection)
parentGroup.RootPart.AddFlag(PrimFlags.CreateSelected);
parentGroup.RootPart.CreateSelected = true;
parentGroup.TriggerScriptChangedEvent(Changed.LINK);
}
finally

View File

@ -2486,7 +2486,7 @@ namespace OpenSim.Region.Framework.Scenes
linkPart.LinkNum = 2;
linkPart.SetParent(this);
linkPart.AddFlag(PrimFlags.CreateSelected);
linkPart.CreateSelected = true;
//if (linkPart.PhysActor != null)
//{

View File

@ -388,7 +388,6 @@ namespace OpenSim.Region.Framework.Scenes
// the prim into an agent inventory (Linden client reports that the "Object not found for drop" in its log
_flags = 0;
_flags |= PrimFlags.CreateSelected;
TrimPermissions();
//m_undo = new UndoStack<UndoState>(ParentGroup.GetSceneMaxUndo());
@ -418,6 +417,7 @@ namespace OpenSim.Region.Framework.Scenes
private PrimFlags _flags = 0;
private DateTime m_expires;
private DateTime m_rezzed;
private bool m_createSelected = true;
public UUID CreatorID
{
@ -978,6 +978,13 @@ namespace OpenSim.Region.Framework.Scenes
set { m_updateFlag = value; }
}
[XmlIgnore]
public bool CreateSelected
{
get { return m_createSelected; }
set { m_createSelected = value; }
}
#endregion
//---------------

View File

@ -3742,7 +3742,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
}
parentPrim.TriggerScriptChangedEvent(Changed.LINK);
parentPrim.RootPart.AddFlag(PrimFlags.CreateSelected);
parentPrim.RootPart.CreateSelected = true;
parentPrim.HasGroupChanged = true;
parentPrim.ScheduleGroupForFullUpdate();