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;
Show replies by date