X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fmswin%2Ffg_main_mswin.c;h=6100ae12ca23f0aaea25c4b72a196ed88318821c;hb=80d83eb7ea1ae8d0907ec6deb5bb0de59580e707;hp=b3062efd392ae826096ea6e4416aec66736bf2d2;hpb=99d53f15a4216240088132f6af9cb194b519b1cc;p=freeglut diff --git a/src/mswin/fg_main_mswin.c b/src/mswin/fg_main_mswin.c index b3062ef..6100ae1 100644 --- a/src/mswin/fg_main_mswin.c +++ b/src/mswin/fg_main_mswin.c @@ -296,7 +296,7 @@ static LRESULT fghWindowProcKeyPress(SFG_Window *window, UINT uMsg, GLboolean ke wParam=code[ 0 ]; INVOKE_WCB( *window, KeyboardUp, - ( (char)wParam, + ( (char)(wParam & 0xFF), /* and with 0xFF to indicate to runtime that we want to strip out higher bits - otherwise we get a runtime error when "Smaller Type Checks" is enabled */ window->State.MouseX, window->State.MouseY ) ); } @@ -1345,7 +1345,7 @@ void fgPlatformProcessWork(SFG_Window *window) { case DesireHiddenState: cmdShow = SW_HIDE; - break; + break; case DesireIconicState: cmdShow = SW_MINIMIZE; /* Call on top-level window */ @@ -1353,7 +1353,10 @@ void fgPlatformProcessWork(SFG_Window *window) win = win->Parent; break; case DesireNormalState: - cmdShow = SW_SHOW; + if (win->IsMenu) + cmdShow = SW_SHOWNOACTIVATE; /* Just show, don't activate if its a menu */ + else + cmdShow = SW_SHOW; break; }