Fix create selection getting overwritten by multiple updates for the same prim.
parent
bbb4d6e4c9
commit
d4b4cbf5a5
|
@ -4561,11 +4561,11 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
|
|
||||||
if (recipientID == data.OwnerID)
|
if (recipientID == data.OwnerID)
|
||||||
{
|
{
|
||||||
if ((data.Flags & PrimFlags.CreateSelected) != 0)
|
if (data.CreateSelected)
|
||||||
{
|
{
|
||||||
// Only send this flag once, then unset it
|
// Only send this flag once, then unset it
|
||||||
flags |= PrimFlags.CreateSelected;
|
flags |= PrimFlags.CreateSelected;
|
||||||
data.Flags &= ~PrimFlags.CreateSelected;
|
data.CreateSelected = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
// 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)
|
// occur on link to invoke this elsewhere (such as object selection)
|
||||||
parentGroup.RootPart.AddFlag(PrimFlags.CreateSelected);
|
parentGroup.RootPart.CreateSelected = true;
|
||||||
parentGroup.TriggerScriptChangedEvent(Changed.LINK);
|
parentGroup.TriggerScriptChangedEvent(Changed.LINK);
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
|
|
|
@ -2486,7 +2486,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
linkPart.LinkNum = 2;
|
linkPart.LinkNum = 2;
|
||||||
|
|
||||||
linkPart.SetParent(this);
|
linkPart.SetParent(this);
|
||||||
linkPart.AddFlag(PrimFlags.CreateSelected);
|
linkPart.CreateSelected = true;
|
||||||
|
|
||||||
//if (linkPart.PhysActor != null)
|
//if (linkPart.PhysActor != null)
|
||||||
//{
|
//{
|
||||||
|
|
|
@ -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
|
// the prim into an agent inventory (Linden client reports that the "Object not found for drop" in its log
|
||||||
|
|
||||||
_flags = 0;
|
_flags = 0;
|
||||||
_flags |= PrimFlags.CreateSelected;
|
|
||||||
|
|
||||||
TrimPermissions();
|
TrimPermissions();
|
||||||
//m_undo = new UndoStack<UndoState>(ParentGroup.GetSceneMaxUndo());
|
//m_undo = new UndoStack<UndoState>(ParentGroup.GetSceneMaxUndo());
|
||||||
|
@ -418,6 +417,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
private PrimFlags _flags = 0;
|
private PrimFlags _flags = 0;
|
||||||
private DateTime m_expires;
|
private DateTime m_expires;
|
||||||
private DateTime m_rezzed;
|
private DateTime m_rezzed;
|
||||||
|
private bool m_createSelected = true;
|
||||||
|
|
||||||
public UUID CreatorID
|
public UUID CreatorID
|
||||||
{
|
{
|
||||||
|
@ -978,6 +978,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
set { m_updateFlag = value; }
|
set { m_updateFlag = value; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[XmlIgnore]
|
||||||
|
public bool CreateSelected
|
||||||
|
{
|
||||||
|
get { return m_createSelected; }
|
||||||
|
set { m_createSelected = value; }
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
//---------------
|
//---------------
|
||||||
|
|
|
@ -3742,7 +3742,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
}
|
}
|
||||||
|
|
||||||
parentPrim.TriggerScriptChangedEvent(Changed.LINK);
|
parentPrim.TriggerScriptChangedEvent(Changed.LINK);
|
||||||
parentPrim.RootPart.AddFlag(PrimFlags.CreateSelected);
|
parentPrim.RootPart.CreateSelected = true;
|
||||||
parentPrim.HasGroupChanged = true;
|
parentPrim.HasGroupChanged = true;
|
||||||
parentPrim.ScheduleGroupForFullUpdate();
|
parentPrim.ScheduleGroupForFullUpdate();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue