Kan-Ed fix series.
Correct a condition where a prim is linked before it has been persisted for the first time and is then persisted through it's former SOG with a bad offset position.0.6.0-stable
parent
4cb430eb33
commit
23c217dd7b
|
@ -1519,6 +1519,12 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
if (m_isDeleted)
|
||||
return;
|
||||
|
||||
// This is what happens when an orphanced link set child prim's
|
||||
// group was queued when it was linked
|
||||
//
|
||||
if (m_rootPart == null)
|
||||
return;
|
||||
|
||||
lock (m_parts)
|
||||
{
|
||||
//if (m_rootPart.m_IsAttachment)
|
||||
|
@ -1815,6 +1821,8 @@ namespace OpenSim.Region.Environment.Scenes
|
|||
}
|
||||
|
||||
m_scene.UnlinkSceneObject(objectGroup.UUID, true);
|
||||
objectGroup.Children.Clear();
|
||||
objectGroup.RootPart = null;
|
||||
|
||||
// TODO Deleting the original group object may cause problems later on if they have already
|
||||
// made it into the update queue. However, sending out updates for those parts is now
|
||||
|
|
|
@ -2812,10 +2812,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
|||
parentPrim = targetPart.ParentGroup;
|
||||
childPrim = m_host.ParentGroup;
|
||||
}
|
||||
byte uf = childPrim.RootPart.UpdateFlag;
|
||||
// byte uf = childPrim.RootPart.UpdateFlag;
|
||||
childPrim.RootPart.UpdateFlag = 0;
|
||||
parentPrim.LinkToGroup(childPrim);
|
||||
childPrim.RootPart.UpdateFlag = uf;
|
||||
// if(uf != (Byte)0)
|
||||
// parent.RootPart.UpdateFlag = uf;
|
||||
}
|
||||
parentPrim.TriggerScriptChangedEvent(Changed.LINK);
|
||||
parentPrim.RootPart.AddFlag(PrimFlags.CreateSelected);
|
||||
|
|
Loading…
Reference in New Issue