From d85247e63e5ff0b488211b62429a4895b48dee27 Mon Sep 17 00:00:00 2001
From: Steven Bennetts <steve@lindenlab.com>
Date: Thu, 17 Apr 2008 02:42:27 +0000
Subject: [PATCH] QAR-449 Viewer 1.20 RC 0 merge Branch_1-20-Viewer -r 84060 :
 84432 -> release

---
 indra/llcommon/llapp.cpp                      |  24 +++++-
 indra/llcommon/llapp.h                        |   5 +-
 indra/llcommon/llversionviewer.h              |   6 +-
 indra/llui/llcombobox.cpp                     |   6 +-
 indra/llui/llcombobox.h                       |   2 +
 indra/llui/llfloater.cpp                      |   8 +-
 indra/newview/app_settings/cmd_line.xml       |  16 ++++
 .../shaders/class1/environment/waterF.glsl    |   2 +-
 indra/newview/featuretable.txt                |  18 +++++
 indra/newview/gpu_table.txt                   |  12 ++-
 indra/newview/llagent.cpp                     |  33 ++++----
 indra/newview/llappviewer.cpp                 |  31 +++++++-
 indra/newview/llappviewer.h                   |   4 +-
 indra/newview/llappviewerlinux.cpp            |  73 ++++++++++++------
 indra/newview/llappviewerlinux.h              |   1 +
 indra/newview/llappviewermacosx.cpp           |   5 ++
 indra/newview/llappviewermacosx.h             |   4 +-
 indra/newview/llappviewerwin32.cpp            |   5 ++
 indra/newview/llappviewerwin32.h              |   5 +-
 indra/newview/lldebugview.cpp                 |   5 +-
 indra/newview/llfloatercamera.cpp             |  64 +++------------
 indra/newview/llfloatercamera.h               |  18 ++---
 indra/newview/llfloaterlagmeter.cpp           |  13 +---
 indra/newview/llfloaterlagmeter.h             |   9 +--
 indra/newview/llfloaterpreference.cpp         |   5 +-
 indra/newview/llmoveview.cpp                  |  60 ++------------
 indra/newview/llmoveview.h                    |  20 ++---
 indra/newview/llnetmap.cpp                    |   6 +-
 indra/newview/llspatialpartition.cpp          |   4 +
 indra/newview/llstartup.cpp                   |   5 +-
 indra/newview/llstatusbar.cpp                 |   2 +-
 indra/newview/lltexturefetch.cpp              |  47 +++++------
 indra/newview/llvieweraudio.cpp               |   1 -
 indra/newview/llvieweraudio.h                 |   6 ++
 indra/newview/llviewermenu.cpp                |  10 +--
 indra/newview/llviewermessage.cpp             |   4 +-
 indra/newview/llviewerwindow.cpp              |   1 -
 indra/newview/llvovolume.cpp                  |  18 ++++-
 indra/newview/llworld.cpp                     |   6 +-
 indra/newview/llworldmap.cpp                  |   2 +
 indra/newview/res/ll_icon.png                 | Bin 0 -> 73845 bytes
 indra/newview/viewer_manifest.py              |   4 +-
 42 files changed, 314 insertions(+), 256 deletions(-)
 create mode 100644 indra/newview/res/ll_icon.png

diff --git a/indra/llcommon/llapp.cpp b/indra/llcommon/llapp.cpp
index 067dc4fc43..d034334aab 100644
--- a/indra/llcommon/llapp.cpp
+++ b/indra/llcommon/llapp.cpp
@@ -78,6 +78,7 @@ BOOL LLApp::sLogInSignal = FALSE;
 // static
 LLApp::EAppStatus LLApp::sStatus = LLApp::APP_STATUS_STOPPED; // Keeps track of application status
 LLAppErrorHandler LLApp::sErrorHandler = NULL;
+LLAppErrorHandler LLApp::sSyncErrorHandler = NULL;
 BOOL LLApp::sErrorThreadRunning = FALSE;
 #if !LL_WINDOWS
 LLApp::child_map LLApp::sChildMap;
@@ -275,6 +276,21 @@ void LLApp::setErrorHandler(LLAppErrorHandler handler)
 	LLApp::sErrorHandler = handler;
 }
 
+
+void LLApp::setSyncErrorHandler(LLAppErrorHandler handler)
+{
+	LLApp::sSyncErrorHandler = handler;
+}
+
+// static
+void LLApp::runSyncErrorHandler()
+{
+	if (LLApp::sSyncErrorHandler)
+	{
+		LLApp::sSyncErrorHandler();
+	}
+}
+
 // static
 void LLApp::runErrorHandler()
 {
@@ -298,7 +314,13 @@ void LLApp::setStatus(EAppStatus status)
 // static
 void LLApp::setError()
 {
-	setStatus(APP_STATUS_ERROR);
+	if (!isError())
+	{
+		// perform any needed synchronous error-handling
+		runSyncErrorHandler();
+		// set app status to ERROR so that the LLErrorThread notices
+		setStatus(APP_STATUS_ERROR);
+	}
 }
 
 
diff --git a/indra/llcommon/llapp.h b/indra/llcommon/llapp.h
index c199601c20..c5a1546883 100644
--- a/indra/llcommon/llapp.h
+++ b/indra/llcommon/llapp.h
@@ -190,6 +190,7 @@ public:
 	// Error handling methods
 	//
 	void setErrorHandler(LLAppErrorHandler handler);
+	void setSyncErrorHandler(LLAppErrorHandler handler);
 
 #if !LL_WINDOWS
 	//
@@ -246,13 +247,15 @@ protected:
 private:
 	void setupErrorHandling();		// Do platform-specific error-handling setup (signals, structured exceptions)
 
-	static void runErrorHandler();
+	static void runErrorHandler(); // run shortly after we detect an error, ran in the relatively robust context of the LLErrorThread - preferred.
+	static void runSyncErrorHandler(); // run IMMEDIATELY when we get an error, ran in the context of the faulting thread.
 
 	// *NOTE: On Windows, we need a routine to reset the structured
 	// exception handler when some evil driver has taken it over for
 	// their own purposes
 	typedef int(*signal_handler_func)(int signum);
 	static LLAppErrorHandler sErrorHandler;
+	static LLAppErrorHandler sSyncErrorHandler;
 
 	// Default application threads
 	LLErrorThread* mThreadErrorp;		// Waits for app to go to status ERROR, then runs the error callback
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
index 8e964d3891..c586acc7d9 100644
--- a/indra/llcommon/llversionviewer.h
+++ b/indra/llcommon/llversionviewer.h
@@ -33,9 +33,9 @@
 #define LL_LLVERSIONVIEWER_H
 
 const S32 LL_VERSION_MAJOR = 1;
-const S32 LL_VERSION_MINOR = 19;
-const S32 LL_VERSION_PATCH = 1;
-const S32 LL_VERSION_BUILD = 84396;
+const S32 LL_VERSION_MINOR = 20;
+const S32 LL_VERSION_PATCH = 0;
+const S32 LL_VERSION_BUILD = 0;
 
 const char * const LL_CHANNEL = "Second Life Release";
 
diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp
index 62f2a6d319..0e8239cabd 100644
--- a/indra/llui/llcombobox.cpp
+++ b/indra/llui/llcombobox.cpp
@@ -1113,15 +1113,17 @@ LLFlyoutButton::LLFlyoutButton(
 	mExpanderButtonImage = LLUI::getUIImage("flyout_btn_right.tga");
 	mActionButtonImageSelected = LLUI::getUIImage("flyout_btn_left_selected.tga");
 	mExpanderButtonImageSelected = LLUI::getUIImage("flyout_btn_right_selected.tga");
+	mActionButtonImageDisabled = LLUI::getUIImage("flyout_btn_left_disabled.tga");
+	mExpanderButtonImageDisabled = LLUI::getUIImage("flyout_btn_right_disabled.tga");
 
 	mActionButton->setImageSelected(mActionButtonImageSelected);
 	mActionButton->setImageUnselected(mActionButtonImage);
-	mActionButton->setImageDisabled(LLPointer<LLUIImage>(NULL));
+	mActionButton->setImageDisabled(mActionButtonImageDisabled);
 	mActionButton->setImageDisabledSelected(LLPointer<LLUIImage>(NULL));
 
 	mButton->setImageSelected(mExpanderButtonImageSelected);
 	mButton->setImageUnselected(mExpanderButtonImage);
-	mButton->setImageDisabled(LLPointer<LLUIImage>(NULL));
+	mButton->setImageDisabled(mExpanderButtonImageDisabled);
 	mButton->setImageDisabledSelected(LLPointer<LLUIImage>(NULL));
 	mButton->setRightHPad(6);
 
diff --git a/indra/llui/llcombobox.h b/indra/llui/llcombobox.h
index c4db52cc97..09e8a0e0f4 100644
--- a/indra/llui/llcombobox.h
+++ b/indra/llui/llcombobox.h
@@ -225,6 +225,8 @@ protected:
 	LLPointer<LLUIImage>	mExpanderButtonImage;
 	LLPointer<LLUIImage>	mActionButtonImageSelected;
 	LLPointer<LLUIImage>	mExpanderButtonImageSelected;
+	LLPointer<LLUIImage>	mActionButtonImageDisabled;
+	LLPointer<LLUIImage>	mExpanderButtonImageDisabled;
 	BOOL					mToggleState;
 };
 
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 1eb3d169a5..4829d5b893 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -832,8 +832,8 @@ void LLFloater::setMinimized(BOOL minimize)
 
 		for (S32 i = 0; i < 4; i++)
 		{
-			mResizeBar[i]->setEnabled(FALSE);
-			mResizeHandle[i]->setEnabled(FALSE);
+			if (mResizeBar[i]) mResizeBar[i]->setEnabled(FALSE);
+			if (mResizeHandle[i]) mResizeHandle[i]->setEnabled(FALSE);
 		}
 
 		mMinimized = TRUE;
@@ -875,8 +875,8 @@ void LLFloater::setMinimized(BOOL minimize)
 
 		for (S32 i = 0; i < 4; i++)
 		{
-			mResizeBar[i]->setEnabled(isResizable());
-			mResizeHandle[i]->setEnabled(isResizable());
+			if (mResizeBar[i]) mResizeBar[i]->setEnabled(isResizable());
+			if (mResizeHandle[i]) mResizeHandle[i]->setEnabled(isResizable());
 		}
 
 		mMinimized = FALSE;
diff --git a/indra/newview/app_settings/cmd_line.xml b/indra/newview/app_settings/cmd_line.xml
index 01c590c1f3..43c3d85679 100644
--- a/indra/newview/app_settings/cmd_line.xml
+++ b/indra/newview/app_settings/cmd_line.xml
@@ -319,5 +319,21 @@
       <string>LoginPage</string>
     </map>
 
+    <key>qa</key>
+    <map>
+      <key>desc</key>
+      <string>Activated debugging menu in Advanced Settings.</string>
+      <key>map-to</key>
+      <string>QAMode</string>
+    </map>
+
+    <key>crashonstartup</key>
+    <map>
+      <key>desc</key>
+      <string>Crashes on startup. For QA use.</string>
+      <key>map-to</key>
+      <string>CrashOnStartup</string>
+    </map>
+
   </map>
 </llsd>
diff --git a/indra/newview/app_settings/shaders/class1/environment/waterF.glsl b/indra/newview/app_settings/shaders/class1/environment/waterF.glsl
index 7b9e4ff828..bd9b30a075 100644
--- a/indra/newview/app_settings/shaders/class1/environment/waterF.glsl
+++ b/indra/newview/app_settings/shaders/class1/environment/waterF.glsl
@@ -86,7 +86,7 @@ void main()
 	color.rgb = mix(mix(fogCol.rgb, fb.rgb, fogCol.a), refcol.rgb, df);
 	color.rgb += spec * specular;
 	
-	color.rgb = applyWaterFog(color);//atmosTransport(color.rgb);
+	//color.rgb = applyWaterFog(color);//atmosTransport(color.rgb);
 	color.rgb = scaleSoftClip(color.rgb);
 	color.a = spec * sunAngle2;
 
diff --git a/indra/newview/featuretable.txt b/indra/newview/featuretable.txt
index 5f81027b10..032d9bfdc3 100644
--- a/indra/newview/featuretable.txt
+++ b/indra/newview/featuretable.txt
@@ -250,6 +250,9 @@ RenderMaxPartCount			1	2048
 RenderTerrainDetail			1	0
 RenderVBOEnable				1	1
 
+list SiS
+UseOcclusion				0	0
+
 
 list Intel_830M
 RenderTerrainDetail			1	0
@@ -320,10 +323,25 @@ list Intel_Springdale
 RenderTerrainDetail			1	0
 RenderVBOEnable				1	0
 
+
 list ATI_FireGL_5200
 RenderVBOEnable				1	0
 WindLightUseAtmosShaders	0	0
 
+
+list ATI_Mobility_Radeon_7xxx
+RenderVBOEnable				0	0
+
+list ATI_Radeon_7xxx
+RenderVBOEnable				0	0
+
+list ATI_All-in-Wonder_Radeon
+RenderVBOEnable				0	0
+
+list ATI_All-in-Wonder_7500
+RenderVBOEnable				0	0
+
+
 list ATI_Mobility_Radeon_9800
 RenderAvatarCloth			0	0
 VertexShaderEnable			0	0
diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt
index c75edc8565..842e1afaad 100644
--- a/indra/newview/gpu_table.txt
+++ b/indra/newview/gpu_table.txt
@@ -22,12 +22,16 @@
 3Dfx							.*3Dfx.*							0		0
 3Dlabs							.*3Dlabs.*							0		0
 ATI 3D-Analyze					.*ATI.*3D-Analyze.*					0		0
-ATI All-in-Wonder PCI-E			.*ATI.*All-in-Wonder.*PCI-E.*		1		1
+ATI All-in-Wonder 7500			.*ATI.*All-in-Wonder 75.*			0		1
+ATI All-in-Wonder 8500			.*ATI.*All-in-Wonder 85.*			0		1
+ATI All-in-Wonder 9200			.*ATI.*All-in-Wonder 92.*			0		1
 ATI All-in-Wonder 9xxx			.*ATI.*All-in-Wonder 9.*			1		1
 ATI All-in-Wonder X600			.*ATI.*All-in-Wonder X6.*			1		1
 ATI All-in-Wonder X800			.*ATI.*All-in-Wonder X8.*			2		1
 ATI All-in-Wonder X1800			.*ATI.*All-in-Wonder X18.*			3		1
 ATI All-in-Wonder X1900			.*ATI.*All-in-Wonder X19.*			3		1
+ATI All-in-Wonder PCI-E			.*ATI.*All-in-Wonder.*PCI-E.*		1		1
+ATI All-in-Wonder Radeon 		.*ATI.*All-in-Wonder Radeon.*		0		1
 ATI ASUS A9xxx					.*ATI.*ASUS.*A9.*					1		1
 ATI ASUS AH24xx					.*ATI.*ASUS.*AH24.*					1		1
 ATI ASUS AH26xx					.*ATI.*ASUS.*AH26.*					3		1
@@ -52,6 +56,8 @@ ATI M52							.*ATI.*M52.*						1		1
 ATI M54							.*ATI.*M54.*						1		1
 ATI M56							.*ATI.*M56.*						1		1
 ATI M76							.*ATI.*M76.*						3		1
+ATI Mobility Radeon 7xxx		.*ATI.*Mobility.*Radeon 7.*			0		1
+ATI Mobility Radeon 8xxx		.*ATI.*Mobility.*Radeon 8.*			0		1
 ATI Mobility Radeon 9800		.*ATI.*Mobility.*98.*				1		1
 ATI Mobility Radeon 9700		.*ATI.*Mobility.*97.*				1		1
 ATI Mobility Radeon 9600		.*ATI.*Mobility.*96.*				0		1
@@ -70,8 +76,8 @@ ATI Radeon HD 3400				.*ATI.*Radeon HD 34.*				1		1
 ATI Radeon HD 3600				.*ATI.*Radeon HD 36.*				3		1
 ATI Radeon HD 3800				.*ATI.*Radeon HD 38.*				3		1
 ATI Radeon OpenGL				.*ATI.*Radeon OpenGL.* 				0		0
-ATI Radeon 7000					.*ATI.*Radeon 7.*					0		1
-ATI Radeon 8000					.*ATI.*Radeon 8.*					0		1
+ATI Radeon 7xxx					.*ATI.*Radeon 7.*					0		1
+ATI Radeon 8xxx					.*ATI.*Radeon 8.*					0		1
 ATI Radeon 9000					.*ATI.*Radeon 90.*					0		1
 ATI Radeon 9100					.*ATI.*Radeon 91.*					0		1
 ATI Radeon 9200					.*ATI.*Radeon 92.*					0		1
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index dcea6b2957..f084234c9f 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -3040,24 +3040,21 @@ void LLAgent::updateCamera()
 	}
 
 	// Update UI with our camera inputs
-	if (gFloaterCamera)
-	{
-		gFloaterCamera->mRotate->setToggleState(
-			mOrbitRightKey > 0.f,	// left
-			mOrbitUpKey > 0.f,		// top
-			mOrbitLeftKey > 0.f,	// right
-			mOrbitDownKey > 0.f);	// bottom
-
-		gFloaterCamera->mZoom->setToggleState( 
-			mOrbitInKey > 0.f,		// top
-			mOrbitOutKey > 0.f);	// bottom
-
-		gFloaterCamera->mTrack->setToggleState(
-			mPanLeftKey > 0.f,		// left
-			mPanUpKey > 0.f,		// top
-			mPanRightKey > 0.f,		// right
-			mPanDownKey > 0.f);		// bottom
-	}
+	LLFloaterCamera::getInstance()->mRotate->setToggleState(
+		mOrbitRightKey > 0.f,	// left
+		mOrbitUpKey > 0.f,		// top
+		mOrbitLeftKey > 0.f,	// right
+		mOrbitDownKey > 0.f);	// bottom
+
+	LLFloaterCamera::getInstance()->mZoom->setToggleState( 
+		mOrbitInKey > 0.f,		// top
+		mOrbitOutKey > 0.f);	// bottom
+
+	LLFloaterCamera::getInstance()->mTrack->setToggleState(
+		mPanLeftKey > 0.f,		// left
+		mPanUpKey > 0.f,		// top
+		mPanRightKey > 0.f,		// right
+		mPanDownKey > 0.f);		// bottom
 
 	// Handle camera movement based on keyboard.
 	const F32 ORBIT_OVER_RATE = 90.f * DEG_TO_RAD;			// radians per second
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 3d10eda7fd..b360d9a8e5 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -152,6 +152,7 @@
 #include "llvieweraudio.h"
 #include "llimview.h"
 #include "llviewerthrottle.h"
+#include "llparcel.h"
 // 
 
 #include "llinventoryview.h"
@@ -1563,6 +1564,12 @@ bool LLAppViewer::initConfiguration()
 		llinfos	<< "Command	line usage:\n" << clp << llendl;
 	}
 
+	// If we have specified crash on startup, might as well do it now.
+	if(clp.hasOption("crashonstartup"))
+	{
+		LLAppViewer::instance()->forceErrorLLError();
+	}
+	
 	// If the user has specified a alternate settings file name.
 	// Load	it now.
 	if(clp.hasOption("settings"))
@@ -2136,6 +2143,13 @@ void LLAppViewer::writeSystemInfo()
 	llinfos << "OS info: " << getOSInfo() << llendl;
 }
 
+void LLAppViewer::handleSyncViewerCrash()
+{
+	LLAppViewer* pApp = LLAppViewer::instance();
+	// Call to pure virtual, handled by platform specific llappviewer instance.
+	pApp->handleSyncCrashTrace(); 
+}
+
 void LLAppViewer::handleViewerCrash()
 {
 	LLAppViewer* pApp = LLAppViewer::instance();
@@ -2161,6 +2175,17 @@ void LLAppViewer::handleViewerCrash()
 	gDebugInfo["ClientInfo"]["MinorVersion"] = LL_VERSION_MINOR;
 	gDebugInfo["ClientInfo"]["PatchVersion"] = LL_VERSION_PATCH;
 	gDebugInfo["ClientInfo"]["BuildVersion"] = LL_VERSION_BUILD;
+
+	LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
+	if ( parcel && parcel->getMusicURL()[0])
+	{
+		gDebugInfo["ParcelMusicURL"] = parcel->getMusicURL();
+	}	
+	if ( parcel && parcel->getMediaURL()[0])
+	{
+		gDebugInfo["ParcelMediaURL"] = parcel->getMediaURL();
+	}
+	
 	
 	gDebugInfo["SettingsFilename"] = gSavedSettings.getString("ClientSettingsFile");
 	gDebugInfo["CAFilename"] = gDirUtilp->getCAFile();
@@ -2236,7 +2261,7 @@ void LLAppViewer::handleViewerCrash()
 		pApp->removeMarkerFile(false);
 	}
 	
-	// Call to pure virtual, handled by platform specifc llappviewer instance.
+	// Call to pure virtual, handled by platform specific llappviewer instance.
 	pApp->handleCrashReporting(); 
 
 	return;
@@ -2806,6 +2831,7 @@ void LLAppViewer::badNetworkHandler()
 	// Generates the minidump.
 	LLWinDebug::handleException(NULL);
 #endif
+	LLAppViewer::handleSyncViewerCrash();
 	LLAppViewer::handleViewerCrash();
 
 	std::ostringstream message;
@@ -2839,7 +2865,8 @@ void LLAppViewer::saveFinalSnapshot()
 		LLString snap_filename = gDirUtilp->getLindenUserDir();
 		snap_filename += gDirUtilp->getDirDelimiter();
 		snap_filename += SCREEN_LAST_FILENAME;
-		gViewerWindow->saveSnapshot(snap_filename, gViewerWindow->getWindowWidth(), gViewerWindow->getWindowHeight(), FALSE, TRUE);
+		// use full pixel dimensions of viewer window (not post-scale dimensions)
+		gViewerWindow->saveSnapshot(snap_filename, gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight(), FALSE, TRUE);
 		mSavedFinalSnapshot = TRUE;
 	}
 }
diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h
index d687481002..2d050c3d94 100644
--- a/indra/newview/llappviewer.h
+++ b/indra/newview/llappviewer.h
@@ -80,7 +80,9 @@ public:
 	S32 getCrashBehavior() const { return mCrashBehavior; } 
 	void setCrashBehavior(S32 cb);
 	virtual void handleCrashReporting() = 0; // What to do with crash report?
-	static void handleViewerCrash(); // Hey! The viewer crashed. Do this.
+	virtual void handleSyncCrashTrace() = 0; // any low-level crash-prep that has to happen in the context of the crashing thread before the crash report is delivered.
+	static void handleViewerCrash(); // Hey! The viewer crashed. Do this, soon.
+	static void handleSyncViewerCrash(); // Hey! The viewer crashed. Do this right NOW in the context of the crashing thread.
 
 	// Thread accessors
 	static LLTextureCache* getTextureCache() { return sTextureCache; }
diff --git a/indra/newview/llappviewerlinux.cpp b/indra/newview/llappviewerlinux.cpp
index c36dd2955e..d7a8e66a4b 100644
--- a/indra/newview/llappviewerlinux.cpp
+++ b/indra/newview/llappviewerlinux.cpp
@@ -39,27 +39,41 @@
 #include "llviewernetwork.h"
 #include "llmd5.h"
 
-  #if LL_LINUX
-  #	include <dlfcn.h>		// RTLD_LAZY
-  #     include <execinfo.h>            // backtrace - glibc only
-  #     ifndef LL_ELFBIN
-  #define LL_ELFBIN 1
-  #     endif // LL_ELFBIN
-  #     if LL_ELFBIN
-  #          include <cxxabi.h>         // for symbol demangling
-  #          include "ELFIO.h"          // for better backtraces
-  #     endif // LL_ELFBIN
-  #elif LL_SOLARIS
-  #     include <sys/types.h>
-  #     include <unistd.h>
-  #     include <fcntl.h>
-  #     include <ucontext.h>
-  #endif
+#include <exception>
+
+#if LL_LINUX
+# include <dlfcn.h>		// RTLD_LAZY
+# include <execinfo.h>            // backtrace - glibc only
+# ifndef LL_ELFBIN
+#  define LL_ELFBIN 1
+# endif // LL_ELFBIN
+# if LL_ELFBIN
+#  include <cxxabi.h>         // for symbol demangling
+#  include "ELFIO.h"          // for better backtraces
+# endif // LL_ELFBIN
+#elif LL_SOLARIS
+# include <sys/types.h>
+# include <unistd.h>
+# include <fcntl.h>
+# include <ucontext.h>
+#endif
 
 namespace
 {
 	int gArgC = 0;
 	char **gArgV = NULL;
+	void (*gOldTerminateHandler)() = NULL;
+}
+
+static void exceptionTerminateHandler()
+{
+	// reinstall default terminate() handler in case we re-terminate.
+	if (gOldTerminateHandler) std::set_terminate(gOldTerminateHandler);
+	// treat this like a regular viewer crash, with nice stacktrace etc.
+	LLAppViewer::handleSyncViewerCrash();
+	LLAppViewer::handleViewerCrash();
+	// we've probably been killed-off before now, but...
+	gOldTerminateHandler(); // call old terminate() handler
 }
 
 int main( int argc, char **argv ) 
@@ -75,7 +89,11 @@ int main( int argc, char **argv )
 
 	LLAppViewer* viewer_app_ptr = new LLAppViewerLinux();
 
+	// install unexpected exception handler
+	gOldTerminateHandler = std::set_terminate(exceptionTerminateHandler);
+	// install crash handlers
 	viewer_app_ptr->setErrorHandler(LLAppViewer::handleViewerCrash);
+	viewer_app_ptr->setSyncErrorHandler(LLAppViewer::handleSyncViewerCrash);
 
 	bool ok = viewer_app_ptr->init();
 	if(!ok)
@@ -301,19 +319,22 @@ bool LLAppViewerLinux::init()
 	return LLAppViewer::init();
 }
 
-void LLAppViewerLinux::handleCrashReporting()
+void LLAppViewerLinux::handleSyncCrashTrace()
 {
+	// This backtrace writes into stack_trace.log
+#  if LL_ELFBIN
+	do_elfio_glibc_backtrace(); // more useful backtrace
+#  else
+	do_basic_glibc_backtrace(); // only slightly useful backtrace
+#  endif // LL_ELFBIN
+}
 
+void LLAppViewerLinux::handleCrashReporting()
+{
 	// Always generate the report, have the logger do the asking, and
 	// don't wait for the logger before exiting (-> total cleanup).
 	if (CRASH_BEHAVIOR_NEVER_SEND != LLAppViewer::instance()->getCrashBehavior())
 	{	
-		// This backtrace writes into stack_trace.log
-#  if LL_ELFBIN
-		do_elfio_glibc_backtrace(); // more useful backtrace
-#  else
-		do_basic_glibc_backtrace(); // only slightly useful backtrace
-#  endif // LL_ELFBIN
 		// launch the actual crash logger
 		char* ask_dialog = "-dialog";
 		if (CRASH_BEHAVIOR_ASK != LLAppViewer::instance()->getCrashBehavior())
@@ -329,6 +350,7 @@ void LLAppViewerLinux::handleCrashReporting()
 			 (char*)"-name",
 			 (char*)LLAppViewer::instance()->getSecondLifeTitle().c_str(),
 			 NULL};
+		fflush(NULL);
 		pid_t pid = fork();
 		if (pid == 0)
 		{ // child
@@ -352,9 +374,10 @@ void LLAppViewerLinux::handleCrashReporting()
 			}
 		}
 	}
-	// Sometimes signals don't seem to quit the viewer.  
+	// Sometimes signals don't seem to quit the viewer.  Also, we may
+	// have been called explicitly instead of from a signal handler.
 	// Make sure we exit so as to not totally confuse the user.
-	exit(1);
+	_exit(1); // avoid atexit(), else we may re-crash in dtors.
 }
 
 bool LLAppViewerLinux::beingDebugged()
diff --git a/indra/newview/llappviewerlinux.h b/indra/newview/llappviewerlinux.h
index ce91b6b8b6..300cb10e2d 100644
--- a/indra/newview/llappviewerlinux.h
+++ b/indra/newview/llappviewerlinux.h
@@ -54,6 +54,7 @@ protected:
 	virtual bool beingDebugged();
 
 	virtual void handleCrashReporting();
+	virtual void handleSyncCrashTrace();
 
 	virtual bool initLogging();
 	virtual bool initParseCommandLine(LLCommandLineParser& clp);
diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp
index 1e4c08a1c1..a748545a3b 100644
--- a/indra/newview/llappviewermacosx.cpp
+++ b/indra/newview/llappviewermacosx.cpp
@@ -160,6 +160,11 @@ bool LLAppViewerMacOSX::initParseCommandLine(LLCommandLineParser& clp)
     return true;
 }
 
+void LLAppViewerMacOSX::handleSyncCrashTrace()
+{
+	// do nothing
+}
+
 void LLAppViewerMacOSX::handleCrashReporting()
 {
 	// Macintosh
diff --git a/indra/newview/llappviewermacosx.h b/indra/newview/llappviewermacosx.h
index cc4a7f5eb5..644c2e0551 100644
--- a/indra/newview/llappviewermacosx.h
+++ b/indra/newview/llappviewermacosx.h
@@ -50,8 +50,10 @@ public:
 
 protected:
 	virtual void handleCrashReporting(); 
+	virtual void handleSyncCrashTrace();
+
 	std::string generateSerialNumber();
-    virtual bool initParseCommandLine(LLCommandLineParser& clp);
+	virtual bool initParseCommandLine(LLCommandLineParser& clp);
 };
 
 #endif // LL_LLAPPVIEWERMACOSX_H
diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp
index 143c9cece4..3770fe2a33 100644
--- a/indra/newview/llappviewerwin32.cpp
+++ b/indra/newview/llappviewerwin32.cpp
@@ -388,6 +388,11 @@ bool LLAppViewerWin32::initParseCommandLine(LLCommandLineParser& clp)
     return clp.parseCommandLineString(mCmdLine);
 }
 
+void LLAppViewerWin32::handleSyncCrashTrace()
+{
+	// do nothing
+}
+
 void LLAppViewerWin32::handleCrashReporting()
 {
 	// Windows only behaivor. Spawn win crash reporter.
diff --git a/indra/newview/llappviewerwin32.h b/indra/newview/llappviewerwin32.h
index 66653c48f5..d8a79a8b7a 100644
--- a/indra/newview/llappviewerwin32.h
+++ b/indra/newview/llappviewerwin32.h
@@ -51,9 +51,10 @@ public:
 protected:
 	virtual void initConsole(); // Initialize OS level debugging console.
 	virtual bool initHardwareTest(); // Win32 uses DX9 to test hardware.
-    virtual bool initParseCommandLine(LLCommandLineParser& clp);
+	virtual bool initParseCommandLine(LLCommandLineParser& clp);
 
-    virtual void handleCrashReporting(); 
+	virtual void handleCrashReporting(); 
+	virtual void handleSyncCrashTrace();
 
 	std::string generateSerialNumber();
 
diff --git a/indra/newview/lldebugview.cpp b/indra/newview/lldebugview.cpp
index 4aeb1d74bf..dc160a29ac 100644
--- a/indra/newview/lldebugview.cpp
+++ b/indra/newview/lldebugview.cpp
@@ -108,9 +108,8 @@ LLDebugView::LLDebugView(const std::string& name, const LLRect &rect)
 
 	mFloaterStatsp->setFollowsTop();
 	mFloaterStatsp->setFollowsRight();
-	// Default to off
-	mFloaterStatsp->setVisible(FALSE);
-	addChild(mFloaterStatsp);
+	// since this is a floater, it belongs to LLFloaterView
+	//addChild(mFloaterStatsp);
 
 	const S32 VELOCITY_LEFT = 10; // 370;
 	const S32 VELOCITY_WIDTH = 500;
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp
index 6bc14b331b..ab85a8c3c1 100644
--- a/indra/newview/llfloatercamera.cpp
+++ b/indra/newview/llfloatercamera.cpp
@@ -43,21 +43,17 @@
 // Constants
 const F32 CAMERA_BUTTON_DELAY = 0.0f;
 
-// Globals
-LLFloaterCamera* gFloaterCamera = NULL;
-
-
 //
 // Member functions
 //
 
-LLFloaterCamera::LLFloaterCamera(const std::string& name)
-:	LLFloater(name) // uses "FloaterCameraRect3"
+LLFloaterCamera::LLFloaterCamera(const LLSD& val)
+:	LLFloater("camera floater") // uses "FloaterCameraRect3"
 {
 	setIsChrome(TRUE);
 	
-	// For now, only used for size and tooltip strings
-	LLUICtrlFactory::getInstance()->buildFloater(this, "floater_camera.xml");
+	const BOOL DONT_OPEN = FALSE;
+	LLUICtrlFactory::getInstance()->buildFloater(this, "floater_camera.xml", NULL, DONT_OPEN);
 	
 	S32 top = getRect().getHeight();
 	S32 bottom = 0;
@@ -103,11 +99,12 @@ LLFloaterCamera::LLFloaterCamera(const std::string& name)
 	addChild(mTrack);
 }
 
-
-LLFloaterCamera::~LLFloaterCamera()
+// virtual
+void LLFloaterCamera::onOpen()
 {
-	// children all deleted by LLView destructor
-	gFloaterCamera = NULL;
+	LLFloater::onOpen();
+	
+	gSavedSettings.setBOOL("ShowCameraControls", TRUE);
 }
 
 // virtual
@@ -119,45 +116,4 @@ void LLFloaterCamera::onClose(bool app_quitting)
 	{
 		gSavedSettings.setBOOL("ShowCameraControls", FALSE);
 	}
-}
-
-//
-// Static member functions
-//
-
-// static
-void LLFloaterCamera::show(void*)
-{
-	if(!gFloaterCamera)
-	{
-		gFloaterCamera = new LLFloaterCamera("camera floater");
-	}
-	gFloaterCamera->open();	/* Flawfinder: ignore */
-	gSavedSettings.setBOOL("ShowCameraControls", TRUE);
-}
-
-// static
-void LLFloaterCamera::toggle(void*)
-{
-	if (gFloaterCamera)
-	{
-		gFloaterCamera->close();
-	}
-	else
-	{
-		show(NULL);
-	}
-}
-
-// static
-BOOL LLFloaterCamera::visible(void*)
-{
-	if (gFloaterCamera)
-	{
-		return gFloaterCamera->getVisible();
-	}
-	else
-	{
-		return FALSE;
-	}
-}
+}
\ No newline at end of file
diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h
index fac4d2f191..6a6105f7f1 100644
--- a/indra/newview/llfloatercamera.h
+++ b/indra/newview/llfloatercamera.h
@@ -39,17 +39,17 @@ class LLJoystickCameraZoom;
 class LLJoystickCameraTrack;
 
 class LLFloaterCamera
-	:	public LLFloater
+	:	public LLFloater,
+		public LLFloaterSingleton<LLFloaterCamera>
 {
-public:
-	LLFloaterCamera(const std::string& name);
-	~LLFloaterCamera();
+	friend class LLUISingleton<LLFloaterCamera, VisibilityPolicy<LLFloater> >;
 	
-	/*virtual*/ void onClose(bool app_quitting);
+private:
+	LLFloaterCamera(const LLSD& val);
+	~LLFloaterCamera() {};
 	
-	static void show(void*);
-	static void toggle(void*);
-	static BOOL visible(void*);
+	/*virtual*/ void onOpen();
+	/*virtual*/ void onClose(bool app_quitting);
 	
 public:
 	LLJoystickCameraRotate* mRotate;
@@ -57,6 +57,4 @@ public:
 	LLJoystickCameraTrack*	mTrack;
 };
 
-extern LLFloaterCamera *gFloaterCamera;
-
 #endif
diff --git a/indra/newview/llfloaterlagmeter.cpp b/indra/newview/llfloaterlagmeter.cpp
index 1213d436cc..b70ae9a227 100644
--- a/indra/newview/llfloaterlagmeter.cpp
+++ b/indra/newview/llfloaterlagmeter.cpp
@@ -49,9 +49,7 @@ const LLString LAG_CRITICAL_IMAGE_NAME = "lag_status_critical.tga";
 const LLString LAG_WARNING_IMAGE_NAME  = "lag_status_warning.tga";
 const LLString LAG_GOOD_IMAGE_NAME     = "lag_status_good.tga";
 
-LLFloaterLagMeter * LLFloaterLagMeter::sInstance = NULL;
-
-LLFloaterLagMeter::LLFloaterLagMeter()
+LLFloaterLagMeter::LLFloaterLagMeter(const LLSD& key)
 	:	LLFloater("floater_lagmeter")
 {
 	LLUICtrlFactory::getInstance()->buildFloater(this, "floater_lagmeter.xml");
@@ -127,8 +125,6 @@ LLFloaterLagMeter::LLFloaterLagMeter()
 
 LLFloaterLagMeter::~LLFloaterLagMeter()
 {
-	sInstance = NULL;
-
 	// save shrunk status for next time
 	gSavedSettings.setBOOL("LagMeterShrunk", mShrunk);
 	// expand so we save the large window rectangle
@@ -147,13 +143,6 @@ void LLFloaterLagMeter::draw()
 	LLFloater::draw();
 }
 
-//static
-void LLFloaterLagMeter::show(void *data)
-{
-	if(!sInstance) sInstance = new LLFloaterLagMeter();
-	sInstance->open();
-}
-
 void LLFloaterLagMeter::determineClient()
 {
 	F32 client_frame_time = LLViewerStats::getInstance()->mFPSStat.getMeanDuration();
diff --git a/indra/newview/llfloaterlagmeter.h b/indra/newview/llfloaterlagmeter.h
index 83603826c4..6a034c840c 100644
--- a/indra/newview/llfloaterlagmeter.h
+++ b/indra/newview/llfloaterlagmeter.h
@@ -34,14 +34,15 @@
 
 #include "llfloater.h"
 
-class LLFloaterLagMeter : public LLFloater
+class LLFloaterLagMeter : public LLFloater, public LLFloaterSingleton<LLFloaterLagMeter>
 {
+	friend class LLUISingleton<LLFloaterLagMeter, VisibilityPolicy<LLFloater> >;
+	
 public:
 	/*virtual*/ void draw();
-	static void show(void*);
 
 private:
-	LLFloaterLagMeter();
+	LLFloaterLagMeter(const LLSD& key);
 	/*virtual*/ ~LLFloaterLagMeter();
 
 	void determineClient();
@@ -75,8 +76,6 @@ private:
 	LLTextBox * mServerCause;
 
 	LLString::format_map_t mStringArgs;
-
-	static LLFloaterLagMeter * sInstance;
 };
 
 #endif
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 1ad58f2706..e66d545409 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -192,7 +192,10 @@ LLPreferenceCore::LLPreferenceCore(LLTabContainer* tab_container, LLButton * def
 	mTabContainer->addTabPanel(mMsgPanel, mMsgPanel->getLabel(), FALSE, onTabChanged, mTabContainer);
 	mMsgPanel->setDefaultBtn(default_btn);
 
-	mTabContainer->selectTab(gSavedSettings.getS32("LastPrefTab"));
+	if (!mTabContainer->selectTab(gSavedSettings.getS32("LastPrefTab")))
+	{
+		mTabContainer->selectFirstTab();
+	}
 }
 
 LLPreferenceCore::~LLPreferenceCore()
diff --git a/indra/newview/llmoveview.cpp b/indra/newview/llmoveview.cpp
index a73da0940e..4819d5bd10 100644
--- a/indra/newview/llmoveview.cpp
+++ b/indra/newview/llmoveview.cpp
@@ -52,23 +52,18 @@ const F32 MOVE_BUTTON_DELAY = 0.0f;
 const F32 YAW_NUDGE_RATE = 0.05f;	// fraction of normal speed
 const F32 NUDGE_TIME = 0.25f;		// in seconds
 
-//
-// Global statics
-//
-
-LLFloaterMove* LLFloaterMove::sInstance = NULL;
-
-
 //
 // Member functions
 //
 
 // protected
-LLFloaterMove::LLFloaterMove()
+LLFloaterMove::LLFloaterMove(const LLSD& key)
 :	LLFloater("move floater")
 {
 	setIsChrome(TRUE);
-	LLUICtrlFactory::getInstance()->buildFloater(this,"floater_moveview.xml"); 
+
+	const BOOL DONT_OPEN = FALSE;
+	LLUICtrlFactory::getInstance()->buildFloater(this,"floater_moveview.xml", NULL, DONT_OPEN); 
 
 	mForwardButton = getChild<LLJoystickAgentTurn>("forward btn"); 
 	mForwardButton->setHeldDownDelay(MOVE_BUTTON_DELAY);
@@ -99,15 +94,6 @@ LLFloaterMove::LLFloaterMove()
 	childSetAction("move down btn",moveDown,NULL);	
 	mMoveDownButton->setHeldDownDelay(MOVE_BUTTON_DELAY);
 	mMoveDownButton->setHeldDownCallback( moveDown );
-
-	sInstance = this;
-}
-
-// protected
-LLFloaterMove::~LLFloaterMove()
-{
-	// children all deleted by LLView destructor
-	sInstance = NULL;
 }
 
 // virtual
@@ -125,42 +111,12 @@ void LLFloaterMove::onClose(bool app_quitting)
 // Static member functions
 //
 
-// static
-void LLFloaterMove::show(void*)
+void LLFloaterMove::onOpen()
 {
-	if (sInstance)
-	{
-		sInstance->open();	/*Flawfinder: ignore*/
-	}
-	else
-	{
-		LLFloaterMove* f = new LLFloaterMove();
-		f->open();	/*Flawfinder: ignore*/
-	}
-	
+	LLFloater::onOpen();
 	gSavedSettings.setBOOL("ShowMovementControls", TRUE);
 }
 
-// static
-void LLFloaterMove::toggle(void*)
-{
-	if (sInstance)
-	{
-		sInstance->close();
-	}
-	else
-	{
-		show(NULL);
-	}
-}
-
-// static
-BOOL LLFloaterMove::visible(void*)
-{
-	return (sInstance != NULL);
-}
-
-
 // protected static 
 F32 LLFloaterMove::getYawRate( F32 time )
 {
@@ -178,14 +134,14 @@ F32 LLFloaterMove::getYawRate( F32 time )
 // protected static 
 void LLFloaterMove::turnLeft(void *)
 {
-	F32 time = sInstance->mTurnLeftButton->getHeldDownTime();
+	F32 time = getInstance()->mTurnLeftButton->getHeldDownTime();
 	gAgent.moveYaw( getYawRate( time ) );
 }
 
 // protected static 
 void LLFloaterMove::turnRight(void *)
 {
-	F32 time = sInstance->mTurnRightButton->getHeldDownTime();
+	F32 time = getInstance()->mTurnRightButton->getHeldDownTime();
 	gAgent.moveYaw( -getYawRate( time ) );
 }
 
diff --git a/indra/newview/llmoveview.h b/indra/newview/llmoveview.h
index 4d55206194..17005e0ded 100644
--- a/indra/newview/llmoveview.h
+++ b/indra/newview/llmoveview.h
@@ -43,24 +43,21 @@ class LLJoystickAgentSlide;
 // Classes
 //
 class LLFloaterMove
-:	public LLFloater
+:	public LLFloater, 
+	public LLFloaterSingleton<LLFloaterMove>
 {
+	friend class LLUISingleton<LLFloaterMove, VisibilityPolicy<LLFloater> >;
+	
 protected:
-	LLFloaterMove();
-	~LLFloaterMove();
+	LLFloaterMove(const LLSD& key);
+	~LLFloaterMove() {}
 
 public:
+	/*virtual*/ void onOpen();
 	/*virtual*/ void onClose(bool app_quitting);
 
 	static F32	getYawRate(F32 time);
 
-	static void show(void*);
-	static void toggle(void*);
-	static BOOL visible(void*);
-	
-	// This function is used for agent-driven button highlighting
-	static LLFloaterMove* getInstance()				{ return sInstance; }
-
 protected:
 	static void turnLeftNudge(void* userdata);
 	static void turnLeft(void* userdata);
@@ -80,9 +77,6 @@ public:
 	LLButton*				mTurnRightButton;
 	LLButton*				mMoveUpButton;
 	LLButton*				mMoveDownButton;
-
-protected:
-	static LLFloaterMove*	sInstance;
 };
 
 
diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp
index 1550751e7f..1b2474728f 100644
--- a/indra/newview/llnetmap.cpp
+++ b/indra/newview/llnetmap.cpp
@@ -436,10 +436,12 @@ void LLNetMap::draw()
 		}
 
 		// Draw dot for self avatar position
-		//drawTracking( gAgent.getPosGlobalFromAgent(gAgent.getFrameAgent().getCenter()), gSelfMapColor );
 		pos_global = gAgent.getPositionGlobal();
 		pos_map = globalPosToView(pos_global);
-		LLWorldMapView::sAvatarYouSmallImage->draw(llround(pos_map.mV[VX]) - 4, llround(pos_map.mV[VY]) - 4);
+		LLUIImagePtr you = LLWorldMapView::sAvatarYouSmallImage;
+		you->draw(
+			llround(pos_map.mV[VX]) - you->getWidth()/2, 
+			llround(pos_map.mV[VY]) - you->getHeight()/2);
 
 		// Draw frustum
 		F32 meters_to_pixels = gMiniMapScale/ LLWorld::getInstance()->getRegionWidthInMeters();
diff --git a/indra/newview/llspatialpartition.cpp b/indra/newview/llspatialpartition.cpp
index 1e715a5bf2..331505166e 100644
--- a/indra/newview/llspatialpartition.cpp
+++ b/indra/newview/llspatialpartition.cpp
@@ -2650,6 +2650,10 @@ void LLCullResult::clear()
 
 	for (U32 i = 0; i < LLRenderPass::NUM_RENDER_TYPES; i++)
 	{
+		for (U32 j = 0; j < mRenderMapSize[i]; j++)
+		{
+			mRenderMap[i][j] = 0;
+		}
 		mRenderMapSize[i] = 0;
 	}
 }
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index fb692d257b..f918403320 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -45,7 +45,6 @@
 #include "audioengine_fmod.h"
 #endif
 
-#include "audiosettings.h"
 #include "llares.h"
 #include "llcachename.h"
 #include "llviewercontrol.h"
@@ -1585,11 +1584,11 @@ BOOL idle_startup()
 
 		if (gSavedSettings.getBOOL("ShowCameraControls"))
 		{
-			LLFloaterCamera::show(NULL);
+			LLFloaterCamera::showInstance();
 		}
 		if (gSavedSettings.getBOOL("ShowMovementControls"))
 		{
-			LLFloaterMove::show(NULL);
+			LLFloaterMove::showInstance();
 		}
 
 		if (gSavedSettings.getBOOL("ShowActiveSpeakers"))
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index 3546d6c888..5d6ab669f4 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -906,7 +906,7 @@ void LLStatusBar::onClickSearch(void* data)
 // static
 void LLStatusBar::onClickStatGraph(void* data)
 {
-	LLFloaterLagMeter::show(data);
+	LLFloaterLagMeter::showInstance();
 }
 
 BOOL can_afford_transaction(S32 cost)
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp
index 669ea3167e..bcb2185687 100644
--- a/indra/newview/lltexturefetch.cpp
+++ b/indra/newview/lltexturefetch.cpp
@@ -497,7 +497,7 @@ void LLTextureFetchWorker::setDesiredDiscard(S32 discard, S32 size)
 		mDesiredDiscard = discard;
 		mDesiredSize = size;
 	}
-	else if (size > mDesiredSize || size == 0)
+	else if (size > mDesiredSize)
 	{
 		mDesiredSize = size;
 		prioritize = true;
@@ -594,8 +594,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 			U32 cache_priority = mWorkPriority;
 			S32 offset = mFormattedImage.notNull() ? mFormattedImage->getDataSize() : 0;
 			S32 size = mDesiredSize - offset;
-
-			if(mDesiredSize != 0 && size <= 0)
+			if (size <= 0)
 			{
 				mState = CACHE_POST;
 				return false;
@@ -640,12 +639,13 @@ bool LLTextureFetchWorker::doWork(S32 param)
 
 	if (mState == CACHE_POST)
 	{
+		mDesiredSize = llmax(mDesiredSize, FIRST_PACKET_SIZE);
 		mCachedSize = mFormattedImage.notNull() ? mFormattedImage->getDataSize() : 0;
 		// Successfully loaded
 		if ((mCachedSize >= mDesiredSize) || mHaveAllData)
 		{
 			// we have enough data, decode it
-			llassert_always(mFormattedImage.isNull() || mFormattedImage->getDataSize() > 0);
+			llassert_always(mFormattedImage->getDataSize() > 0);
 			mState = DECODE_IMAGE;
 			// fall through
 		}
@@ -859,7 +859,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
 	
 	if (mState == DECODE_IMAGE)
 	{
-		llassert_always(mFormattedImage.isNull() || mFormattedImage->getDataSize() > 0);
+		llassert_always(mFormattedImage->getDataSize() > 0);
 		setPriority(LLWorkerThread::PRIORITY_LOW | mWorkPriority); // Set priority first since Responder may change it
 		mRawImage = NULL;
 		mAuxImage = NULL;
@@ -1311,13 +1311,13 @@ LLTextureFetch::~LLTextureFetch()
 }
 
 bool LLTextureFetch::createRequest(const LLUUID& id, const LLHost& host, F32 priority,
-									S32 w, S32 h, S32 c, S32 discard, bool needs_aux)
+									S32 w, S32 h, S32 c, S32 desired_discard, bool needs_aux)
 {
-	return createRequest(LLString::null, id, host, priority, w, h, c, discard, needs_aux);
+	return createRequest(LLString::null, id, host, priority, w, h, c, desired_discard, needs_aux);
 }
 
 bool LLTextureFetch::createRequest(const LLString& filename, const LLUUID& id, const LLHost& host, F32 priority,
-								   S32 w, S32 h, S32 c, S32 discard, bool needs_aux)
+								   S32 w, S32 h, S32 c, S32 desired_discard, bool needs_aux)
 {
 	if (mDebugPause)
 	{
@@ -1341,7 +1341,7 @@ bool LLTextureFetch::createRequest(const LLString& filename, const LLUUID& id, c
 	}
 
 	S32 desired_size;
-	if ((discard == 0) && worker && worker->mFileSize)
+	if ((desired_discard == 0) && worker && worker->mFileSize)
 	{
 		// if we want the entire image, and we know its size, then get it all
 		// (calcDataSizeJ2C() below makes assumptions about how the image
@@ -1349,24 +1349,25 @@ bool LLTextureFetch::createRequest(const LLString& filename, const LLUUID& id, c
 		// we really do get it.)
 		desired_size = worker->mFileSize;
 	}
-	//else if ((discard == 0) && worker == NULL)
-	//{
-	//	// if we want the entire image, but we don't know its size, then send
-	//	// a sentinel value of zero to request the entire contents of the cache.
-	//	// patch supplied by resident Sheet Spotter for VWR-2404
-	//	desired_size = 0;
-	//}
 	else if (w*h*c > 0)
 	{
 		// If the requester knows the dimentions of the image,
 		// this will calculate how much data we need without having to parse the header
 
-		desired_size = LLImageJ2C::calcDataSizeJ2C(w, h, c, discard);
+		desired_size = LLImageJ2C::calcDataSizeJ2C(w, h, c, desired_discard);
 	}
 	else
 	{
-		desired_size = FIRST_PACKET_SIZE;
-		discard = MAX_DISCARD_LEVEL;
+		if (desired_discard == 0)
+		{
+			// If we want all of the image, request the maximum possible data
+			desired_size = MAX_IMAGE_DATA_SIZE;
+		}
+		else
+		{
+			desired_size = FIRST_PACKET_SIZE;
+			desired_discard = MAX_DISCARD_LEVEL;
+		}
 	}
 	if (worker)
 	{
@@ -1376,7 +1377,7 @@ bool LLTextureFetch::createRequest(const LLString& filename, const LLUUID& id, c
 		}
 		worker->lockWorkData();
 		worker->setImagePriority(priority);
-		worker->setDesiredDiscard(discard, desired_size);
+		worker->setDesiredDiscard(desired_discard, desired_size);
 		worker->unlockWorkData();
 		if (!worker->haveWork())
 		{
@@ -1389,18 +1390,18 @@ bool LLTextureFetch::createRequest(const LLString& filename, const LLUUID& id, c
 		if (filename.empty())
 		{
 			// do remote fetch
-			worker = new LLTextureFetchWorker(this, id, host, priority, discard, desired_size);
+			worker = new LLTextureFetchWorker(this, id, host, priority, desired_discard, desired_size);
 		}
 		else
 		{
 			// do local file fetch
-			worker = new LLTextureFetchLocalFileWorker(this, filename, id, host, priority, discard, desired_size);
+			worker = new LLTextureFetchLocalFileWorker(this, filename, id, host, priority, desired_discard, desired_size);
 		}
 		mRequestMap[id] = worker;
 	}
 	worker->mActiveCount++;
 	worker->mNeedsAux = needs_aux;
-// 	llinfos << "REQUESTED: " << id << " Discard: " << discard << llendl;
+// 	llinfos << "REQUESTED: " << id << " Discard: " << desired_discard << llendl;
 	return true;
 }
 
diff --git a/indra/newview/llvieweraudio.cpp b/indra/newview/llvieweraudio.cpp
index 5703a8fdbc..cefbed1353 100644
--- a/indra/newview/llvieweraudio.cpp
+++ b/indra/newview/llvieweraudio.cpp
@@ -32,7 +32,6 @@
 #include "llviewerprecompiledheaders.h"
 
 #include "audioengine.h"
-#include "audiosettings.h"
 #include "llagent.h"
 #include "llappviewer.h"
 #include "llvieweraudio.h"
diff --git a/indra/newview/llvieweraudio.h b/indra/newview/llvieweraudio.h
index 64090d24e6..0b0fafecc5 100644
--- a/indra/newview/llvieweraudio.h
+++ b/indra/newview/llvieweraudio.h
@@ -32,6 +32,12 @@
 #ifndef LL_VIEWERAUDIO_H
 #define LL_VIEWERAUDIO_H
 
+// comment out to turn off wind
+#define kAUDIO_ENABLE_WIND 
+//#define kAUDIO_ENABLE_WATER 1	// comment out to turn off water
+#define kAUDIO_NUM_BUFFERS 30
+#define kAUDIO_NUM_SOURCES 30 
+
 void init_audio();
 void audio_update_volume(bool force_update = true);
 void audio_update_listener();
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index ec52118098..ac361fa80b 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -5360,11 +5360,11 @@ class LLShowFloater : public view_listener_t
 		}
 		else if (floater_name == "camera controls")
 		{
-			LLFloaterCamera::toggle(NULL);
+			LLFloaterCamera::toggleInstance();
 		}
 		else if (floater_name == "movement controls")
 		{
-			LLFloaterMove::show(NULL);
+			LLFloaterMove::toggleInstance();
 		}
 		else if (floater_name == "world map")
 		{
@@ -5435,7 +5435,7 @@ class LLShowFloater : public view_listener_t
 		}
 		else if (floater_name == "lag meter")
 		{
-			LLFloaterLagMeter::show(NULL);
+			LLFloaterLagMeter::showInstance();
 		}
 		else if (floater_name == "bug reporter")
 		{
@@ -5488,11 +5488,11 @@ class LLFloaterVisible : public view_listener_t
 		}
 		else if (floater_name == "camera controls")
 		{
-			new_value = LLFloaterCamera::visible(NULL);
+			new_value = LLFloaterCamera::instanceVisible();
 		}
 		else if (floater_name == "movement controls")
 		{
-			new_value = LLFloaterMove::visible(NULL);
+			new_value = LLFloaterMove::instanceVisible();
 		}
 		else if (floater_name == "stat bar")
 		{
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 439063e439..99f1af61e5 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -36,7 +36,6 @@
 #include <deque>
 
 #include "audioengine.h" 
-#include "audiosettings.h"
 #include "indra_constants.h"
 #include "lscript_byteformat.h"
 #include "mean_collision_data.h"
@@ -68,6 +67,7 @@
 #include "llagent.h"
 #include "llcallingcard.h"
 #include "llconsole.h"
+#include "llvieweraudio.h"
 #include "llviewercontrol.h"
 #include "lldrawpool.h"
 #include "llfirstuse.h"
@@ -4069,7 +4069,7 @@ void process_alert_core(const std::string& message, BOOL modal)
 		LLString snap_filename = gDirUtilp->getLindenUserDir();
 		snap_filename += gDirUtilp->getDirDelimiter();
 		snap_filename += SCREEN_HOME_FILENAME;
-		gViewerWindow->saveSnapshot(snap_filename, gViewerWindow->getWindowWidth(), gViewerWindow->getWindowHeight(), FALSE, FALSE);
+		gViewerWindow->saveSnapshot(snap_filename, gViewerWindow->getWindowDisplayWidth(), gViewerWindow->getWindowDisplayHeight(), FALSE, FALSE);
 	}
 
 	const std::string ALERT_PREFIX("ALERT: ");
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 696a2ad3c6..52b10a2fd9 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -1992,7 +1992,6 @@ LLViewerWindow::~LLViewerWindow()
 	// Automatically deleted as children of mRootView.  Fix the globals.
 	gFloaterTools = NULL;
 	gStatusBar = NULL;
-	gFloaterCamera = NULL;
 	gIMMgr = NULL;
 	gHoverView = NULL;
 
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 2b8cf93b2d..ce4a660682 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -741,7 +741,23 @@ void LLVOVolume::sculpt()
 
 		
 		S32 current_discard = getVolume()->getSculptLevel();
-		llassert_always(current_discard >= -2 && current_discard <= max_discard);
+		if(current_discard < -2)
+		{
+			llwarns << "WARNING!!: Current discard of sculpty at " << current_discard 
+				<< " is less than -2." << llendl;
+			
+			// corrupted volume... don't update the sculpty
+			return;
+		}
+		else if (current_discard > max_discard)
+		{
+			llwarns << "WARNING!!: Current discard of sculpty at " << current_discard 
+				<< " is more than than allowed max of " << max_discard << llendl;
+			
+			// corrupted volume... don't update the sculpty			
+			return;
+		}
+
 		if (current_discard == discard_level)  // no work to do here
 			return;
 		
diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp
index ca947bed97..e45b929b6f 100644
--- a/indra/newview/llworld.cpp
+++ b/indra/newview/llworld.cpp
@@ -118,7 +118,11 @@ LLWorld::LLWorld()
 void LLWorld::destroyClass()
 {
 	gObjectList.destroy();
-	for_each(mRegionList.begin(), mRegionList.end(), DeletePointer());
+	for(region_list_t::iterator region_it = mRegionList.begin(); region_it != mRegionList.end(); )
+	{
+		LLViewerRegion* region_to_delete = *region_it++;
+		removeRegion(region_to_delete->getHost());
+	}
 	LLViewerPartSim::getInstance()->destroyClass();
 }
 
diff --git a/indra/newview/llworldmap.cpp b/indra/newview/llworldmap.cpp
index 6c5118ed9d..1bd08c0430 100644
--- a/indra/newview/llworldmap.cpp
+++ b/indra/newview/llworldmap.cpp
@@ -343,6 +343,8 @@ void LLWorldMap::sendItemRequest(U32 type, U64 handle)
 // public
 void LLWorldMap::sendMapLayerRequest()
 {
+	if (!gAgent.getRegion()) return;
+
 	LLSD body;
 	body["Flags"] = mCurrentMap;
 	std::string url = gAgent.getRegion()->getCapability(
diff --git a/indra/newview/res/ll_icon.png b/indra/newview/res/ll_icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..414b703111a6b0c1513e824f40688f8e79836228
GIT binary patch
literal 73845
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

literal 0
HcmV?d00001

diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index edb7002584..b147b471fa 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -116,7 +116,7 @@ class ViewerManifest(LLManifest):
                         if self.default_channel():
                                 # beta grid viewer
                                 channel_flags = '--settings settings_beta.xml'
-                        grid_flags = "--helperuri http://preview-%(grid)s.secondlife.com/helpers/ --loginuri https://login.%(grid)s.lindenlab.com/cgi-bin/login.cgi" % {'grid':self.args['grid']}
+                        grid_flags = "--grid %(grid)s --helperuri http://preview-%(grid)s.secondlife.com/helpers/" % {'grid':self.args['grid']}
                         
                 if not self.default_channel():
                         # some channel on some grid
@@ -438,7 +438,7 @@ class LinuxManifest(ViewerManifest):
         def construct(self):
                 super(LinuxManifest, self).construct()
                 self.path("licenses-linux.txt","licenses.txt")
-                #self.path("res/ll_icon.ico","secondlife.ico")
+                self.path("res/ll_icon.png","secondlife_icon.png")
                 if self.prefix("linux_tools", ""):
                         self.path("client-readme.txt","README-linux.txt")
                         self.path("client-readme-voice.txt","README-linux-voice.txt")
-- 
GitLab