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
parent
cc7aa88b26
commit
8f9a726465
|
@ -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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue