Fix creation of a duplicate physics actor on chained drag-copy operations,
the main cause for "ghost prims"avinationmerge
parent
c2bd6ccdb8
commit
b8924167e0
|
@ -1704,23 +1704,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (userExposed)
|
if (userExposed)
|
||||||
dupe.m_rootPart.TrimPermissions();
|
dupe.m_rootPart.TrimPermissions();
|
||||||
|
|
||||||
/// may need to create a new Physics actor.
|
|
||||||
if (dupe.RootPart.PhysActor != null && userExposed)
|
|
||||||
{
|
|
||||||
PrimitiveBaseShape pbs = dupe.RootPart.Shape;
|
|
||||||
|
|
||||||
dupe.RootPart.PhysActor = m_scene.PhysicsScene.AddPrimShape(
|
|
||||||
dupe.RootPart.Name,
|
|
||||||
pbs,
|
|
||||||
dupe.RootPart.AbsolutePosition,
|
|
||||||
dupe.RootPart.Scale,
|
|
||||||
dupe.RootPart.RotationOffset,
|
|
||||||
dupe.RootPart.PhysActor.IsPhysical);
|
|
||||||
|
|
||||||
dupe.RootPart.PhysActor.LocalID = dupe.RootPart.LocalId;
|
|
||||||
dupe.RootPart.DoPhysicsPropertyUpdate(dupe.RootPart.PhysActor.IsPhysical, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
List<SceneObjectPart> partList = new List<SceneObjectPart>(m_parts.GetArray());
|
List<SceneObjectPart> partList = new List<SceneObjectPart>(m_parts.GetArray());
|
||||||
|
|
||||||
partList.Sort(delegate(SceneObjectPart p1, SceneObjectPart p2)
|
partList.Sort(delegate(SceneObjectPart p1, SceneObjectPart p2)
|
||||||
|
|
Loading…
Reference in New Issue