diff options
| -rw-r--r-- | indra/newview/llappviewer.cpp | 23 | ||||
| -rw-r--r-- | indra/newview/llfloaterchat.cpp | 17 | ||||
| -rw-r--r-- | indra/newview/llfloaterchat.h | 2 | ||||
| -rw-r--r-- | indra/newview/llfloaterchatterbox.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llfloaterchatterbox.h | 1 | ||||
| -rw-r--r-- | indra/newview/llfloaterimagepreview.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llpanelobject.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llvoavatar.cpp | 39 | 
8 files changed, 65 insertions, 28 deletions
| diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 8c62969bec..572927f918 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -296,6 +296,7 @@ BOOL				gPrintMessagesThisFrame = FALSE;  BOOL gRandomizeFramerate = FALSE;  BOOL gPeriodicSlowFrame = FALSE; +BOOL gCrashOnStartup = FALSE;  BOOL gLLErrorActivated = FALSE;  BOOL gLogoutInProgress = FALSE;  //////////////////////////////////////////////////////////// @@ -1621,12 +1622,6 @@ bool LLAppViewer::initConfiguration()  	// - selectively apply settings  -	// 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 before loading the user_settings/settings.xml  	if(clp.hasOption("settings")) @@ -1726,7 +1721,13 @@ bool LLAppViewer::initConfiguration()      initGridChoice(); -    // Handle slurl use. NOTE: Don't let SL-55321 reappear. +	// If we have specified crash on startup, set the global so we'll trigger the crash at the right time +	if(clp.hasOption("crashonstartup")) +	{ +		gCrashOnStartup = TRUE; +	} + +	// Handle slurl use. NOTE: Don't let SL-55321 reappear.      // *FIX: This init code should be made more robust to prevent       // the issue SL-55321 from returning. One thought is to allow  @@ -2021,6 +2022,7 @@ bool LLAppViewer::initConfiguration()  	};  	gLastRunVersion = gSavedSettings.getString("LastRunVersion"); +  	return true; // Config was successful.  } @@ -2076,6 +2078,12 @@ bool LLAppViewer::initWindow()  		gSavedSettings.saveToFile( gSavedSettings.getString("ClientSettingsFile"), TRUE );  	} +	//If we have a startup crash, it's usually near GL initialization, so simulate that. +	if(gCrashOnStartup) +	{ +		LLAppViewer::instance()->forceErrorLLError(); +	} +  	LLUI::sWindow = gViewerWindow->getWindow();  	LLAlertDialog::parseAlerts("alerts.xml"); @@ -2089,6 +2097,7 @@ bool LLAppViewer::initWindow()  	// show viewer window  	gViewerWindow->mWindow->show(); +  	return true;  } diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp index 5ff75c4969..22e418d60d 100644 --- a/indra/newview/llfloaterchat.cpp +++ b/indra/newview/llfloaterchat.cpp @@ -162,7 +162,7 @@ void LLFloaterChat::onClose(bool app_quitting)  void LLFloaterChat::onVisibilityChange(BOOL new_visibility)  {  	// Hide the chat overlay when our history is visible. -	gConsole->setVisible( !new_visibility ); +	updateConsoleVisibility();  	// stop chat history tab from flashing when it appears  	if (new_visibility) @@ -173,6 +173,21 @@ void LLFloaterChat::onVisibilityChange(BOOL new_visibility)  	LLFloater::onVisibilityChange(new_visibility);  } +void LLFloaterChat::setMinimized(BOOL minimized) +{ +	LLFloater::setMinimized(minimized); +	updateConsoleVisibility(); +} + + +void LLFloaterChat::updateConsoleVisibility() +{ +	// determine whether we should show console due to not being visible +	gConsole->setVisible( !isInVisibleChain()								// are we not in part of UI being drawn? +							|| isMinimized()								// are we minimized? +							|| (getHost() && getHost()->isMinimized() ));	// are we hosted in a minimized floater? +} +  void add_timestamped_line(LLViewerTextEditor* edit, const LLString& line, const LLColor4& color)  {  	bool prepend_newline = true; diff --git a/indra/newview/llfloaterchat.h b/indra/newview/llfloaterchat.h index 987fa2b4c5..118e6bbe6d 100644 --- a/indra/newview/llfloaterchat.h +++ b/indra/newview/llfloaterchat.h @@ -62,6 +62,8 @@ public:  	virtual BOOL postBuild();  	virtual void onClose(bool app_quitting);  	virtual void onVisibilityChange(BOOL cur_visibility); +	virtual void setMinimized(BOOL); +	void updateConsoleVisibility();  	static void setHistoryCursorAndScrollToEnd(); diff --git a/indra/newview/llfloaterchatterbox.cpp b/indra/newview/llfloaterchatterbox.cpp index 71de859703..44019d1227 100644 --- a/indra/newview/llfloaterchatterbox.cpp +++ b/indra/newview/llfloaterchatterbox.cpp @@ -210,6 +210,13 @@ void LLFloaterChatterBox::onClose(bool app_quitting)  	gSavedSettings.setBOOL("ShowCommunicate", FALSE);  } +void LLFloaterChatterBox::setMinimized(BOOL minimized) +{ +	LLFloater::setMinimized(minimized); +	// HACK: potentially need to toggle console +	LLFloaterChat::getInstance()->updateConsoleVisibility(); +} +  void LLFloaterChatterBox::removeFloater(LLFloater* floaterp)  {  	if (floaterp->getName() == "chat floater") diff --git a/indra/newview/llfloaterchatterbox.h b/indra/newview/llfloaterchatterbox.h index e74a2e3ffd..1d15362435 100644 --- a/indra/newview/llfloaterchatterbox.h +++ b/indra/newview/llfloaterchatterbox.h @@ -51,6 +51,7 @@ public:  	/*virtual*/ void draw();  	/*virtual*/ void onOpen();  	/*virtual*/ void onClose(bool app_quitting); +	/*virtual*/ void setMinimized(BOOL minimized);  	/*virtual*/ void removeFloater(LLFloater* floaterp);  	/*virtual*/ void addFloater(LLFloater* floaterp,  diff --git a/indra/newview/llfloaterimagepreview.cpp b/indra/newview/llfloaterimagepreview.cpp index 3607aad7ef..51e67dcf2b 100644 --- a/indra/newview/llfloaterimagepreview.cpp +++ b/indra/newview/llfloaterimagepreview.cpp @@ -907,7 +907,7 @@ BOOL LLImagePreviewSculpted::render()  		gGL.color3f(0.4f, 0.4f, 0.4f);  		glVertexPointer(3, GL_FLOAT, 0, (void *)vertices);  		glNormalPointer(GL_FLOAT, 0, (void *)normals); -		glDrawRangeElements(GL_TRIANGLES, 0, num_indices-1, num_indices, GL_UNSIGNED_SHORT, (void *)indices); +		glDrawRangeElements(GL_TRIANGLES, 0, num_vertices-1, num_indices, GL_UNSIGNED_SHORT, (void *)indices);  		gGL.popMatrix();  		glDisableClientState(GL_NORMAL_ARRAY); diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index d6ac5908dc..62115be473 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -1815,7 +1815,7 @@ void LLPanelObject::clearCtrls()  	mLabelRadiusOffset->setEnabled( FALSE );  	mLabelRevolutions->setEnabled( FALSE ); -	childSetVisible("select_single", TRUE); +	childSetVisible("select_single", FALSE);  	childSetVisible("edit_object", TRUE);	  	childSetEnabled("edit_object", FALSE); diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 0783468bb7..e785c93f19 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -9687,25 +9687,28 @@ U32 calc_shame(LLVOVolume* volume, std::set<LLUUID> &textures)  			invisi = 1;  		} -		if (te->getBumpmap()) +		if (te)  		{ -			bump = 1; -		} -		if (te->getShiny()) -		{ -			shiny = 1; -		} -		if (te->getGlow() > 0.f) -		{ -			glow = 1; -		} -		if (face->mTextureMatrix != NULL) -		{ -			animtex++; -		} -		if (te->getTexGen()) -		{ -			planar++; +			if (te->getBumpmap()) +			{ +				bump = 1; +			} +			if (te->getShiny()) +			{ +				shiny = 1; +			} +			if (te->getGlow() > 0.f) +			{ +				glow = 1; +			} +			if (face->mTextureMatrix != NULL) +			{ +				animtex++; +			} +			if (te->getTexGen()) +			{ +				planar++; +			}  		}  	} | 
