diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index cbda906599..4ee4a5357c 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -752,8 +752,6 @@ void LLWindowWin32::close() mDragDrop->reset(); - // Make sure cursor is visible and we haven't mangled the clipping state. - setMouseClipping(FALSE); // Go back to screen mode written in the registry. if (mFullscreen) @@ -763,13 +761,13 @@ void LLWindowWin32::close() // Don't process events in our mainWindowProc any longer. SetWindowLongPtr(mWindowHandle, GWLP_USERDATA, NULL); - if (mCallbacks) + + // Make sure cursor is visible and we haven't mangled the clipping state. + showCursor(); + setMouseClipping(FALSE); + if (gKeyboard) { - mCallbacks->handleFocusLost(this); - } - else - { - showCursor(); + gKeyboard->resetKeys(); } // Clean up remaining GL state