diff --git a/autobuild.xml b/autobuild.xml index c848cb2e84..875868138e 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -1757,7 +1757,7 @@ archive hash - 4a9dbeb437d0e1546b93d16073ff1442 + e760be34addeb0cd6e2ec43394834bac url http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llphysicsextensions/rev/313564/arch/CYGWIN/installer/llphysicsextensions_source-1.0.313564-windows-313564.tar.bz2 diff --git a/indra/llcommon/indra_constants.cpp b/indra/llcommon/indra_constants.cpp index 1d094cd4f4..60721977cd 100644 --- a/indra/llcommon/indra_constants.cpp +++ b/indra/llcommon/indra_constants.cpp @@ -68,4 +68,3 @@ const LLUUID TERRAIN_ROCK_DETAIL ("53a2f406-4895-1d13-d541-d2e3b86bc19c"); // V const LLUUID DEFAULT_WATER_NORMAL ("822ded49-9a6c-f61c-cb89-6df54f42cdf4"); // VIEWER -const LLUUID IMG_BLACK_SQUARE ("3b39cc01-c2d1-e194-1181-e4404978b20c"); // On dataserver diff --git a/indra/llcommon/indra_constants.h b/indra/llcommon/indra_constants.h index 875cfb2607..b484b18d4f 100644 --- a/indra/llcommon/indra_constants.h +++ b/indra/llcommon/indra_constants.h @@ -208,8 +208,6 @@ LL_COMMON_API extern const LLUUID TERRAIN_ROCK_DETAIL; LL_COMMON_API extern const LLUUID DEFAULT_WATER_NORMAL; -LL_COMMON_API extern const LLUUID IMG_BLACK_SQUARE; - // radius within which a chat message is fully audible const F32 CHAT_NORMAL_RADIUS = 20.f; diff --git a/indra/llcrashlogger/llcrashlogger.cpp b/indra/llcrashlogger/llcrashlogger.cpp index 11f9611dff..19744b4f19 100644 --- a/indra/llcrashlogger/llcrashlogger.cpp +++ b/indra/llcrashlogger/llcrashlogger.cpp @@ -70,6 +70,9 @@ std::string getStartupStateFromLog(std::string& sllog); int LLCrashLogger::ssl_mutex_count = 0; LLCoreInt::HttpMutex ** LLCrashLogger::ssl_mutex_list = NULL; +#define CRASH_UPLOAD_RETRIES 3 /* seconds */ +#define CRASH_UPLOAD_TIMEOUT 180 /* seconds */ + class LLCrashLoggerHandler : public LLHttpSDHandler { LOG_CLASS(LLCrashLoggerHandler); @@ -597,7 +600,7 @@ bool LLCrashLogger::sendCrashLog(std::string dump_dir) msg = msg+mCrashHost.c_str(); updateApplication(msg.c_str()); - sent = runCrashLogPost(mCrashHost, post_data, std::string("Sending to server"), 3, 5); + sent = runCrashLogPost(mCrashHost, post_data, std::string("Sending to server"), CRASH_UPLOAD_RETRIES, CRASH_UPLOAD_TIMEOUT); } // We do not send to mAltCrashHost ever. @@ -605,7 +608,7 @@ bool LLCrashLogger::sendCrashLog(std::string dump_dir) // if(!sent) // { //updateApplication("Using default server..."); - // sent = runCrashLogPost(mAltCrashHost, post_data, std::string("Sending to alternate server"), 3, 5); + // sent = runCrashLogPost(mAltCrashHost, post_data, std::string("Sending to alternate server"), CRASH_UPLOAD_RETRIES, CRASH_UPLOAD_TIMEOUT); // } // diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index 6a044292f5..6e1159c504 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -440,6 +440,7 @@ extern BOOL gPrintMessagesThisFrame; extern LLUUID gSunTextureID; extern LLUUID gMoonTextureID; +extern LLUUID gBlackSquareID; extern BOOL gRandomizeFramerate; extern BOOL gPeriodicSlowFrame; diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index e2ef10c4cb..2296e7f0fa 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -50,6 +50,7 @@ #include "llrendersphere.h" #include "llviewerpartsim.h" #include "llviewercontrol.h" // for gSavedSettings +#include "llviewertexturelist.h" // Add avatar hitbox debug #include "llviewercontrol.h" @@ -69,6 +70,7 @@ BOOL LLDrawPoolAvatar::sSkipTransparent = FALSE; S32 LLDrawPoolAvatar::sDiffuseChannel = 0; F32 LLDrawPoolAvatar::sMinimumAlpha = 0.2f; +LLUUID gBlackSquareID; static bool is_deferred_render = false; static bool is_post_deferred_render = false; @@ -1399,7 +1401,7 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass) avatarp->mImpostor.bindTexture(1, specular_channel); } } - avatarp->renderImpostor(LLColor4U(255,255,255,255), sDiffuseChannel); + avatarp->renderImpostor(avatarp->getMutedAVColor(), sDiffuseChannel); } return; } @@ -1977,12 +1979,8 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow) LLViewerTexture* specular = NULL; if (LLPipeline::sImpostorRender) { - std::vector found; - LLViewerTextureManager::findFetchedTextures(IMG_BLACK_SQUARE, found); - if (1 <= found.size()) - { - specular = found[0]; - } + specular = LLViewerTextureManager::findFetchedTexture(gBlackSquareID, TEX_LIST_DISCARD); + llassert(NULL != specular); } else { diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp index 1af4ae4266..005bb37b68 100644 --- a/indra/newview/llpreviewscript.cpp +++ b/indra/newview/llpreviewscript.cpp @@ -2675,10 +2675,6 @@ void LLLiveLSLEditor::draw() // incorrect after a release/claim cycle, but will be // correct after clicking on it. runningCheckbox->set(FALSE); - // Rev 496 LL merge error - //mMonoCheckbox->setEnabled(FALSE); - // object may have fallen out of range. - //mHaveRunningInfo = FALSE; mMonoCheckbox->set(FALSE); } } @@ -2688,7 +2684,6 @@ void LLLiveLSLEditor::draw() // Really ought to put in main window. setTitle(LLTrans::getString("ObjectOutOfRange")); runningCheckbox->setEnabled(FALSE); - // Rev 496 LL merge error mMonoCheckbox->setEnabled(FALSE); // object may have fallen out of range. mHaveRunningInfo = FALSE; diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 640ad962c0..d3eb6c3b7e 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1164,6 +1164,7 @@ void LLViewerFetchedTexture::init(bool firstinit) mLastCallBackActiveTime = 0.f; mForceCallbackFetch = FALSE; mInDebug = FALSE; + mUnremovable = FALSE; mFTType = FTT_UNKNOWN; } diff --git a/indra/newview/llviewertexture.h b/indra/newview/llviewertexture.h index d02d25d7dc..31c8a8857e 100644 --- a/indra/newview/llviewertexture.h +++ b/indra/newview/llviewertexture.h @@ -374,7 +374,10 @@ public: bool updateFetch(); bool setDebugFetching(S32 debug_level); - bool isInDebug() {return mInDebug;} + bool isInDebug() const { return mInDebug; } + + void setUnremovable(BOOL value) { mUnremovable = value; } + bool isUnremovable() const { return mUnremovable; } void clearFetchedResults(); //clear all fetched results, for debug use. @@ -467,6 +470,7 @@ private: private: BOOL mFullyLoaded; BOOL mInDebug; + BOOL mUnremovable; BOOL mInFastCacheList; BOOL mForceCallbackFetch; diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 2c8e07081a..e4b79778f2 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -187,6 +187,12 @@ void LLViewerTextureList::doPreloadImages() mImagePreloads.insert(image); } + LLPointer img_blak_square_tex(new LLImageRaw(2, 2, 3)); + memset(img_blak_square_tex->getData(), 0, img_blak_square_tex->getDataSize()); + LLPointer img_blak_square(new LLViewerFetchedTexture(img_blak_square_tex, FTT_DEFAULT, FALSE)); + gBlackSquareID = img_blak_square->getID(); + img_blak_square->setUnremovable(TRUE); + addImage(img_blak_square, TEX_LIST_DISCARD); } static std::string get_texture_list_name() @@ -861,7 +867,7 @@ void LLViewerTextureList::updateImagesDecodePriorities() LLPointer imagep = iter->second; ++iter; // safe to increment now - if(imagep->isInDebug()) + if(imagep->isInDebug() || imagep->isUnremovable()) { update_counter--; continue; //is in debug, ignore. diff --git a/scripts/packages-formatter.py b/scripts/packages-formatter.py index 64330b24e8..342c446bd1 100755 --- a/scripts/packages-formatter.py +++ b/scripts/packages-formatter.py @@ -97,3 +97,4 @@ for pkg in sorted(version): print copyright[pkg] else: sys.exit("No copyright for %s" % pkg) + print ''