diff options
| author | Merov Linden <merov@lindenlab.com> | 2011-03-17 23:19:39 -0700 |
|---|---|---|
| committer | Merov Linden <merov@lindenlab.com> | 2011-03-17 23:19:39 -0700 |
| commit | bce92b3ec6d3efb4a2938f35ba7e1803b4b57145 (patch) | |
| tree | 76c0ded54ebe614d74d4ad4b577d41abc2630c3a /indra/newview/llviewermessage.cpp | |
| parent | d63c1a4df14f5eaeee37b82890a445e912d60683 (diff) | |
| parent | 741de388d38290cbb946070a8380f492971dfd2e (diff) | |
Pull in merov_linden/viewer-autobuild2010
Diffstat (limited to 'indra/newview/llviewermessage.cpp')
| -rw-r--r-- | indra/newview/llviewermessage.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 103989ee80..947408f125 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -3761,8 +3761,19 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**) } else { - // This is likely just the initial logging in phase. + // This is initial log-in or a region crossing gAgent.setTeleportState( LLAgent::TELEPORT_NONE ); + + if(LLStartUp::getStartupState() < STATE_STARTED) + { // This is initial log-in, not a region crossing: + // Set the camera looking ahead of the AV so send_agent_update() below + // will report the correct location to the server. + LLVector3 look_at_point = look_at; + look_at_point = agent_pos + look_at_point.rotVec(gAgent.getQuat()); + + static LLVector3 up_direction(0.0f, 0.0f, 1.0f); + LLViewerCamera::getInstance()->lookAt(agent_pos, look_at_point, up_direction); + } } if ( LLTracker::isTracking(NULL) ) |
