diff options
| -rw-r--r-- | indra/cmake/00-Common.cmake | 6 | ||||
| -rw-r--r-- | indra/llmessage/llcurl.cpp | 9 | ||||
| -rw-r--r-- | indra/llmessage/llcurl.h | 3 | ||||
| -rw-r--r-- | indra/newview/llvovolume.cpp | 15 | 
4 files changed, 26 insertions, 7 deletions
diff --git a/indra/cmake/00-Common.cmake b/indra/cmake/00-Common.cmake index 49a1ec7f2c..2219311fc7 100644 --- a/indra/cmake/00-Common.cmake +++ b/indra/cmake/00-Common.cmake @@ -35,13 +35,13 @@ if (WINDOWS)    # Don't build DLLs.    set(BUILD_SHARED_LIBS OFF) -  set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP" +  set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /ZI /MDd /MP"        CACHE STRING "C++ compiler debug options" FORCE)    set(CMAKE_CXX_FLAGS_RELWITHDEBINFO  -      "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP" +      "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /ZI /MD /MP"        CACHE STRING "C++ compiler release-with-debug options" FORCE)    set(CMAKE_CXX_FLAGS_RELEASE -      "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP" +      "${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /MD /MP"        CACHE STRING "C++ compiler release options" FORCE)    set(CMAKE_CXX_STANDARD_LIBRARIES "") diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp index b93b94cd25..5212ba1eca 100644 --- a/indra/llmessage/llcurl.cpp +++ b/indra/llmessage/llcurl.cpp @@ -711,6 +711,7 @@ LLCurlRequest::LLCurlRequest() :  	mActiveRequestCount(0)  {  	mThreadID = LLThread::currentID(); +	mProcessing = FALSE;  }  LLCurlRequest::~LLCurlRequest() @@ -745,6 +746,11 @@ LLCurl::Easy* LLCurlRequest::allocEasy()  bool LLCurlRequest::addEasy(LLCurl::Easy* easy)  {  	llassert_always(mActiveMulti); +	 +	if (mProcessing) +	{ +		llerrs << "Posting to a LLCurlRequest instance from within a responder is not allowed (causes DNS timeouts)." << llendl; +	}  	bool res = mActiveMulti->addEasy(easy);  	return res;  } @@ -835,6 +841,8 @@ S32 LLCurlRequest::process()  {  	llassert_always(mThreadID == LLThread::currentID());  	S32 res = 0; + +	mProcessing = TRUE;  	for (curlmulti_set_t::iterator iter = mMultiSet.begin();  		 iter != mMultiSet.end(); )  	{ @@ -848,6 +856,7 @@ S32 LLCurlRequest::process()  			delete multi;  		}  	} +	mProcessing = FALSE;  	return res;  } diff --git a/indra/llmessage/llcurl.h b/indra/llmessage/llcurl.h index 4302c19113..5367643289 100644 --- a/indra/llmessage/llcurl.h +++ b/indra/llmessage/llcurl.h @@ -215,7 +215,7 @@ public:  	bool getByteRange(const std::string& url, const headers_t& headers, S32 offset, S32 length, LLCurl::ResponderPtr responder);  	bool post(const std::string& url, const headers_t& headers, const LLSD& data, LLCurl::ResponderPtr responder);  	bool post(const std::string& url, const headers_t& headers, const std::string& data, LLCurl::ResponderPtr responder); - +	  	S32  process();  	S32  getQueued(); @@ -229,6 +229,7 @@ private:  	curlmulti_set_t mMultiSet;  	LLCurl::Multi* mActiveMulti;  	S32 mActiveRequestCount; +	BOOL mProcessing;  	U32 mThreadID; // debug  }; diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index fb28b78daf..cb67890515 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -920,6 +920,8 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams ¶ms, const S32 detail, bool  	S32 lod = mLOD; +	BOOL is404 = FALSE; +  	if (isSculpted())  	{  		// if it's a mesh @@ -932,6 +934,11 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams ¶ms, const S32 detail, bool  			volume_params.setType(LL_PCODE_PROFILE_SQUARE, LL_PCODE_PATH_LINE);  			lod = gMeshRepo.getActualMeshLOD(volume_params, lod); +			if (lod == -1) +			{ +				is404 = TRUE; +				lod = 0; +			}  		}  	} @@ -962,7 +969,10 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams ¶ms, const S32 detail, bool  		}  	} -	 +	if (is404) +	{ +		setIcon(LLViewerTextureManager::getFetchedTextureFromFile("icons/Inv_Mesh.png", TRUE, LLViewerTexture::BOOST_UI)); +	}  	if ((LLPrimitive::setVolume(volume_params, lod, (mVolumeImpl && mVolumeImpl->isVolumeUnique()))) || mSculptChanged)  	{ @@ -995,10 +1005,9 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams ¶ms, const S32 detail, bool  			}  			else // otherwise is sculptie  			{ -  				if (mSculptTexture.notNull())  				{ -				sculpt(); +					sculpt();  				}  			}  		}  | 
