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
Melanie Thielker 2008-09-18 15:24:16 +00:00
parent 4cb430eb33
commit 23c217dd7b
2 changed files with 11 additions and 2 deletions

View File

@ -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

View File

@ -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);