aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewermessage.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llviewermessage.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp
index ecbe0ef..b1c316d 100644
--- a/linden/indra/newview/llviewermessage.cpp
+++ b/linden/indra/newview/llviewermessage.cpp
@@ -3331,14 +3331,18 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
3331 3331
3332 // set our upstream host the new simulator and shuffle things as 3332 // set our upstream host the new simulator and shuffle things as
3333 // appropriate. 3333 // appropriate.
3334 LLVector3 shift_vector = regionp->getPosRegionFromGlobal( 3334 // Sometimes OpenSim will get here but still fail on a teleport -- MC
3335 gAgent.getRegion()->getOriginGlobal()); 3335 if (regionp != gAgent.getRegion())
3336 gAgent.setRegion(regionp); 3336 {
3337 gObjectList.shiftObjects(shift_vector); 3337 LLVector3 shift_vector = regionp->getPosRegionFromGlobal(
3338 gAssetStorage->setUpstream(msg->getSender()); 3338 gAgent.getRegion()->getOriginGlobal());
3339 gCacheName->setUpstream(msg->getSender()); 3339 gAgent.setRegion(regionp);
3340 gViewerThrottle.sendToSim(); 3340 gObjectList.shiftObjects(shift_vector);
3341 gViewerWindow->sendShapeToSim(); 3341 gAssetStorage->setUpstream(msg->getSender());
3342 gCacheName->setUpstream(msg->getSender());
3343 gViewerThrottle.sendToSim();
3344 gViewerWindow->sendShapeToSim();
3345 }
3342 3346
3343 bool is_teleport = gAgent.getTeleportState() == LLAgent::TELEPORT_MOVING; 3347 bool is_teleport = gAgent.getTeleportState() == LLAgent::TELEPORT_MOVING;
3344 3348