X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fmswin%2Ffg_main_mswin.c;h=be8248ecb88fda601a1d03aa4f6ea12c27099add;hb=450b0d2bd03f4d7721fa2fe5f54f38d787accb06;hp=663ff3be0e6813701bb5afb0a73dc0c1b0b779d1;hpb=b5133f184768ff978281662da03e3ec6baea9dc1;p=freeglut diff --git a/src/mswin/fg_main_mswin.c b/src/mswin/fg_main_mswin.c index 663ff3b..be8248e 100644 --- a/src/mswin/fg_main_mswin.c +++ b/src/mswin/fg_main_mswin.c @@ -240,7 +240,7 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, uMsg, wParam, lParam ); */ /* Some events only sent to main window. Check if the current window that - * the mouse is over is a child window. Below whn handling some messages, + * the mouse is over is a child window. Below when handling some messages, * we make sure that we process callbacks on the child window instead. * This mirrors how GLUT does things. */ @@ -518,9 +518,11 @@ LRESULT CALLBACK fgPlatformWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, case WM_KILLFOCUS: { SFG_Menu* menu = NULL; + SFG_Window* saved_window = fgStructure.CurrentWindow; /* printf("WM_KILLFOCUS: %p\n", window ); */ lRet = DefWindowProc( hWnd, uMsg, wParam, lParam ); INVOKE_WCB( *window, Entry, ( GLUT_LEFT ) ); + fgSetWindow(saved_window); /* If we have an open menu, see if the open menu should be closed * when focus was lost because user either switched