Fix regression where sitting on ground stopped working.
This was due to the PhysicsActor no longer being recreated on stand from ground.link-sitting
parent
f9193e3c51
commit
868c0c2746
|
@ -2174,11 +2174,12 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
{
|
||||
// m_log.DebugFormat("[SCENE PRESENCE]: StandUp() for {0}", Name);
|
||||
|
||||
bool satOnObject = IsSatOnObject;
|
||||
SceneObjectPart part = ParentPart;
|
||||
SitGround = false;
|
||||
|
||||
if (ParentID != 0)
|
||||
if (satOnObject)
|
||||
{
|
||||
SceneObjectPart part = ParentPart;
|
||||
TaskInventoryDictionary taskIDict = part.TaskInventory;
|
||||
if (taskIDict != null)
|
||||
{
|
||||
|
@ -2238,18 +2239,20 @@ namespace OpenSim.Region.Framework.Scenes
|
|||
Rotation = standRotation;
|
||||
AbsolutePosition = standPos;
|
||||
ParentPosition = Vector3.Zero;
|
||||
}
|
||||
|
||||
// We need to wait until we have calculated proper stand positions before sitting up the physical
|
||||
// avatar to avoid race conditions.
|
||||
if (PhysicsActor == null)
|
||||
AddToPhysicalScene(false);
|
||||
|
||||
if (satOnObject)
|
||||
{
|
||||
SendAvatarDataToAllAgents();
|
||||
m_requestedSitTargetID = 0;
|
||||
|
||||
part.RemoveSittingAvatar(UUID);
|
||||
|
||||
if (part != null)
|
||||
part.ParentGroup.TriggerScriptChangedEvent(Changed.LINK);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue