From: James Tabor Date: Sat, 17 May 2014 02:15:50 +0000 (+0000) Subject: [ConSrv] X-Git-Tag: backups/0.3.17@66124~1239 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=ef2221fd12b1b4d957dda2f7c4389f4ab97a494b [ConSrv] - Move Alt-Escape, Space and Tab to ConWndProc, disable GuiProcessKeyCallback. - Alt-Space was not getting launched out of GuiProcessKeyCallback. The key needed translated. - Reduce code for system menus. svn path=/trunk/; revision=63319 --- diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c index a8c744a0a56..f660e3414fe 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c @@ -255,7 +255,7 @@ CreateSysMenu(HWND hWnd) { MENUITEMINFOW mii; WCHAR szMenuStringBack[255]; - const WCHAR *ptrTab; + WCHAR *ptrTab; HMENU hMenu = GetSystemMenu(hWnd, FALSE); if (hMenu != NULL) { @@ -269,9 +269,7 @@ CreateSysMenu(HWND hWnd) ptrTab = wcschr(szMenuStringBack, '\t'); if (ptrTab) { - mii.cch = (int)( ptrTab - szMenuStringBack); - RtlZeroMemory((PVOID)ptrTab, mii.cch); - + *ptrTab = '\0'; mii.cch = wcslen(szMenuStringBack); SetMenuItemInfoW(hMenu, SC_CLOSE, FALSE, &mii); @@ -1927,6 +1925,11 @@ ConWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) break; } + /* Detect Alt-Esc/Space/Tab presses defer to DefWindowProc */ + if ( (HIWORD(lParam) & KF_ALTDOWN) && (wParam == VK_ESCAPE || wParam == VK_SPACE || wParam == VK_TAB)) + { + return DefWindowProcW(hWnd, msg, wParam, lParam); + } OnKey(GuiData, msg, wParam, lParam); break; diff --git a/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c b/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c index a38875d2618..e56e4c5e25a 100644 --- a/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c +++ b/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c @@ -806,8 +806,9 @@ GuiProcessKeyCallback(IN OUT PFRONTEND This, if ((ShiftState & (RIGHT_ALT_PRESSED | LEFT_ALT_PRESSED) || KeyStateMenu & 0x80) && (VirtualKeyCode == VK_ESCAPE || VirtualKeyCode == VK_TAB || VirtualKeyCode == VK_SPACE)) { - DefWindowProcW(msg->hwnd, msg->message, msg->wParam, msg->lParam); - return TRUE; + DPRINT1("GuiProcessKeyCallback\n"); + //DefWindowProcW(msg->hwnd, msg->message, msg->wParam, msg->lParam); + //return TRUE; } return FALSE;