leave TrackStartmenu() function when executing any start menu command Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp _____
Modified: trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp --- trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp 2005-10-05 19:50:48 UTC (rev 18280) +++ trunk/reactos/subsys/system/explorer/taskbar/startmenu.cpp 2005-10-05 19:51:08 UTC (rev 18281) @@ -311,7 +311,7 @@
break;
case WM_MOVE: { - POINTS& pos = MAKEPOINTS(lparam); + const POINTS& pos = MAKEPOINTS(lparam);
// move open submenus of floating menus if (_submenu) { @@ -1623,13 +1623,13 @@ ShowWindow(hwnd, SW_SHOW); SetForegroundWindow(hwnd);
- while(IsWindow(hwnd)) { + while(IsWindow(hwnd) && IsWindowVisible(hwnd)) { if (!GetMessage(&msg, 0, 0, 0)) { PostQuitMessage(msg.wParam); break; }
- // Check for a mouse click on any window, which is not part of the start menu + // Check for a mouse click on any window, that is not part of the start menu if (msg.message==WM_LBUTTONDOWN || msg.message==WM_MBUTTONDOWN || msg.message==WM_RBUTTONDOWN) { StartMenu* menu_wnd = NULL;