diff --git a/autobuild.xml b/autobuild.xml
index c848cb2e84..875868138e 100755
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1757,7 +1757,7 @@
archive
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 ''