CreateSysMenu(HWND hWnd)
{
MENUITEMINFOW mii;
+ HMENU hMenu;
+ PWCHAR ptrTab;
WCHAR szMenuStringBack[255];
- WCHAR *ptrTab;
- HMENU hMenu = GetSystemMenu(hWnd, FALSE);
- if (hMenu != NULL)
- {
- mii.cbSize = sizeof(mii);
- mii.fMask = MIIM_STRING;
- mii.dwTypeData = szMenuStringBack;
- mii.cch = sizeof(szMenuStringBack)/sizeof(WCHAR);
- GetMenuItemInfoW(hMenu, SC_CLOSE, FALSE, &mii);
+ hMenu = GetSystemMenu(hWnd, FALSE);
+ if (hMenu == NULL)
+ return;
- ptrTab = wcschr(szMenuStringBack, '\t');
- if (ptrTab)
- {
- *ptrTab = '\0';
- mii.cch = wcslen(szMenuStringBack);
+ mii.cbSize = sizeof(mii);
+ mii.fMask = MIIM_STRING;
+ mii.dwTypeData = szMenuStringBack;
+ mii.cch = ARRAYSIZE(szMenuStringBack);
- SetMenuItemInfoW(hMenu, SC_CLOSE, FALSE, &mii);
- }
+ GetMenuItemInfoW(hMenu, SC_CLOSE, FALSE, &mii);
+
+ ptrTab = wcschr(szMenuStringBack, L'\t');
+ if (ptrTab)
+ {
+ *ptrTab = L'\0';
+ mii.cch = wcslen(szMenuStringBack);
- AppendMenuItems(hMenu, GuiConsoleMainMenuItems);
- DrawMenuBar(hWnd);
+ SetMenuItemInfoW(hMenu, SC_CLOSE, FALSE, &mii);
}
+
+ AppendMenuItems(hMenu, GuiConsoleMainMenuItems);
+ DrawMenuBar(hWnd);
}
static VOID
Console = GuiData->Console;
GuiData->hWindow = hWnd;
+ GuiData->hSysMenu = GetSystemMenu(hWnd, FALSE);
/* Initialize the fonts */
if (!InitFonts(GuiData,
/* Free the GuiData registration */
SetWindowLongPtrW(hWnd, GWLP_USERDATA, (DWORD_PTR)NULL);
+ /* Reset the system menu back to default and destroy the previous menu */
GetSystemMenu(hWnd, TRUE);
if (GuiData)
* GUI Terminal Initialization *
******************************************************************************/
+// FIXME: HACK: Potential HACK for CORE-8129; see revision 63595.
VOID
CreateSysMenu(HWND hWnd);
GuiData->CmdIdLow = CmdIdLow ;
GuiData->CmdIdHigh = CmdIdHigh;
- return GetSystemMenu(GuiData->hWindow, FALSE);
+ return GuiData->hSysMenu;
}
static BOOL NTAPI
*/
PGUI_CONSOLE_DATA GuiData = This->Context;
- HMENU hSysMenu = GetSystemMenu(GuiData->hWindow, FALSE);
- if (hSysMenu == NULL) return FALSE;
+ if (GuiData->hSysMenu == NULL) return FALSE;
GuiData->IsCloseButtonEnabled = Enable;
- EnableMenuItem(hSysMenu, SC_CLOSE, MF_BYCOMMAND | (Enable ? MF_ENABLED : MF_GRAYED));
+ EnableMenuItem(GuiData->hSysMenu, SC_CLOSE, MF_BYCOMMAND | (Enable ? MF_ENABLED : MF_GRAYED));
return TRUE;
}