diff options
| -rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 8 | ||||
| -rw-r--r-- | indra/newview/llviewerwindow.cpp | 15 | 
2 files changed, 22 insertions, 1 deletions
| diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 6e3aba51cf..f98c2423e5 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -2708,6 +2708,14 @@ LRESULT CALLBACK LLWindowWin32::mainWindowProc(HWND h_wnd, UINT u_msg, WPARAM w_  				}  			}  			break; +		default: +			{ +				if (gDebugWindowProc) +				{ +					LL_INFOS("Window") << "Unhandled windows message code: " << U32(u_msg) << LL_ENDL; +				} +			} +			break;  		}  	window_imp->mCallbacks->handlePauseWatchdog(window_imp);	 diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index d54138b80e..f394d6913f 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -2156,6 +2156,15 @@ void LLViewerWindow::shutdownViews()  	RecordToChatConsole::getInstance()->stopRecorder();  	LL_INFOS() << "Warning logger is cleaned." << LL_ENDL ; +	gFocusMgr.unlockFocus(); +	gFocusMgr.setMouseCapture(NULL); +	gFocusMgr.setKeyboardFocus(NULL); +	gFocusMgr.setTopCtrl(NULL); +	if (mWindow) +	{ +		mWindow->allowLanguageTextInput(NULL, FALSE); +	} +  	delete mDebugText;  	mDebugText = NULL; @@ -2188,7 +2197,11 @@ void LLViewerWindow::shutdownViews()  	view_listener_t::cleanup();  	LL_INFOS() << "view listeners destroyed." << LL_ENDL ; -	 + +	// Clean up pointers that are going to be invalid. (todo: check sMenuContainer) +	mProgressView = NULL; +	mPopupView = NULL; +  	// Delete all child views.  	delete mRootView;  	mRootView = NULL; | 
