diff options
Diffstat (limited to 'indra/newview/llappviewer.cpp')
| -rw-r--r-- | indra/newview/llappviewer.cpp | 16 | 
1 files changed, 13 insertions, 3 deletions
| diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 8d425c78c5..64004cf922 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -62,7 +62,9 @@  #include "llallocator.h"  #include "llcalc.h"  #include "llconversationlog.h" +#if LL_WINDOWS  #include "lldxhardware.h" +#endif  #include "lltexturestats.h"  #include "lltrace.h"  #include "lltracethreadrecorder.h" @@ -1135,7 +1137,7 @@ bool LLAppViewer::init()  	try {  		initializeSecHandler();  	} -	catch (LLProtectedDataException ex) +	catch (LLProtectedDataException&)  	{  	  LLNotificationsUtil::add("CorruptedProtectedDataStore");  	} @@ -1349,7 +1351,7 @@ bool LLAppViewer::frame()  		{  			LOG_UNHANDLED_EXCEPTION("");  		} -		catch (std::bad_alloc) +		catch (std::bad_alloc&)  		{  			LLMemory::logMemoryInfo(TRUE);  			LLFloaterMemLeak* mem_leak_instance = LLFloaterReg::findTypedInstance<LLFloaterMemLeak>("mem_leaking"); @@ -1718,6 +1720,11 @@ bool LLAppViewer::cleanup()  	disconnectViewer();  	LL_INFOS() << "Viewer disconnected" << LL_ENDL; +	 +	if (gKeyboard) +	{ +		gKeyboard->resetKeys(); +	}  	display_cleanup(); @@ -3996,7 +4003,10 @@ static LLNotificationFunctorRegistration finish_quit_reg("ConfirmQuit", finish_q  void LLAppViewer::userQuit()  { -	if (gDisconnected || gViewerWindow->getProgressView()->getVisible()) +	if (gDisconnected +		|| !gViewerWindow +		|| !gViewerWindow->getProgressView() +		|| gViewerWindow->getProgressView()->getVisible())  	{  		requestQuit();  	} | 
