From 1a217b23c6e098878284be81a6d1d36cc47adf84 Mon Sep 17 00:00:00 2001 From: Shyotl Date: Sat, 9 Jun 2012 01:57:21 -0500 Subject: [PATCH] SH-3065 Out-of-order operations on startup. http://hg.secondlife.com/viewer-beta/changeset/ecdfca07cbe3 --- indra/newview/llavatarpropertiesprocessor.cpp | 9 +++++++++ indra/newview/lltexturefetch.cpp | 14 +++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/indra/newview/llavatarpropertiesprocessor.cpp b/indra/newview/llavatarpropertiesprocessor.cpp index aa7d391a1..9ec769f9f 100644 --- a/indra/newview/llavatarpropertiesprocessor.cpp +++ b/indra/newview/llavatarpropertiesprocessor.cpp @@ -31,6 +31,7 @@ // Viewer includes #include "llagent.h" #include "llviewergenericmessage.h" +#include "llstartup.h" // Linden library includes #include "llavatarconstants.h" // AVATAR_TRANSACTED, etc. @@ -111,6 +112,14 @@ void LLAvatarPropertiesProcessor::sendGenericRequest(const LLUUID& avatar_id, EA void LLAvatarPropertiesProcessor::sendAvatarPropertiesRequest(const LLUUID& avatar_id) { + // this is the startup state when send_complete_agent_movement() message is sent. + // Before this, the AvatarPropertiesRequest message + // won't work so don't bother trying + if (LLStartUp::getStartupState() <= STATE_AGENT_SEND) + { + return; + } + if (isPendingRequest(avatar_id, APT_PROPERTIES)) { // waiting for a response, don't re-request diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 4862c7db7..cff601fde 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -57,6 +57,7 @@ #include "llviewerregion.h" #include "llviewerstats.h" #include "llworld.h" +#include "llstartup.h" ////////////////////////////////////////////////////////////////////////////// class LLTextureFetchWorker : public LLWorkerClass @@ -2367,6 +2368,7 @@ void LLTextureFetch::commonUpdate() } } + // MAIN THREAD //virtual S32 LLTextureFetch::update(F32 max_time_ms) @@ -2382,14 +2384,20 @@ S32 LLTextureFetch::update(F32 max_time_ms) mNetworkQueueMutex.unlock() ; } - + S32 res = LLWorkerThread::update(max_time_ms); if (!mDebugPause) { - sendRequestListToSimulators(); + // this is the startup state when send_complete_agent_movement() message is sent. + // Before this, the RequestImages message sent by sendRequestListToSimulators + // won't work so don't bother trying + if (LLStartUp::getStartupState() > STATE_AGENT_SEND) + { + sendRequestListToSimulators(); + } } - + if (!mThreaded) { commonUpdate();