If on a sit request we sit the avatar on a different prim in a linkset for some reason (e.g. because it has a sit target), then send the actual sit prim UUID to the viewer rather than the requested one.

This purports to fix the issue described in http://opensimulator.org/mantis/view.php?id=6653 where the camera can end up following the requested sit prim rather than the actual.
The original spot was by Vegaslon, this commit just goes about it in a slightly different way
This commit also makes m_requestedSitTargetUUID to be the actual UUID, which is consistent with m_requestedSitTargetID which was already doing this.
However, this adjustment has no practical effect since we only currently need to know that there's any requested sit UUID at all, not which one it is.
cpu-performance
Justin Clark-Casey (justincc) 2013-05-30 19:27:20 +01:00
parent cc7aa88b26
commit 8f9a726465
1 changed files with 3 additions and 3 deletions

View File

@ -2138,9 +2138,9 @@ namespace OpenSim.Region.Framework.Scenes
forceMouselook = part.GetForceMouselook(); forceMouselook = part.GetForceMouselook();
ControllingClient.SendSitResponse( ControllingClient.SendSitResponse(
targetID, offset, sitOrientation, false, cameraAtOffset, cameraEyeOffset, forceMouselook); part.UUID, offset, sitOrientation, false, cameraAtOffset, cameraEyeOffset, forceMouselook);
m_requestedSitTargetUUID = targetID; m_requestedSitTargetUUID = part.UUID;
HandleAgentSit(ControllingClient, UUID); HandleAgentSit(ControllingClient, UUID);
@ -2165,7 +2165,7 @@ namespace OpenSim.Region.Framework.Scenes
if (part != null) if (part != null)
{ {
m_requestedSitTargetID = part.LocalId; m_requestedSitTargetID = part.LocalId;
m_requestedSitTargetUUID = targetID; m_requestedSitTargetUUID = part.UUID;
// m_log.DebugFormat("[SIT]: Client requested Sit Position: {0}", offset); // m_log.DebugFormat("[SIT]: Client requested Sit Position: {0}", offset);