]> granicus.if.org Git - apache/commitdiff
Fix the 'never disappearing' popup menu - anchor it to our (hidden)
authorWilliam A. Rowe Jr <wrowe@apache.org>
Thu, 16 Aug 2001 18:12:46 +0000 (18:12 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Thu, 16 Aug 2001 18:12:46 +0000 (18:12 +0000)
  global window, which allows TrackPopupMenu to lose focus when any other
  window is selected.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@90236 13f79535-47bb-0310-9956-ffa450edef68

support/win32/ApacheMonitor.c

index 1916e10d0454d724f7832a052ab083fa02e2c1ec..ed438fa474cf14480797ce72d4c68332ecee1e5a 100644 (file)
@@ -326,9 +326,11 @@ void ShowTryPopupMenu(HWND hWnd)
         appendMenuItem(hMenu, 0, "", FALSE, TRUE);
         appendMenuItem(hMenu, IDM_EXIT,  g_lpMsg[IDS_MSG_MNUEXIT-IDS_MSG_FIRST], FALSE, TRUE);
 
+        if (!SetForegroundWindow(hWnd))
+            SetForegroundWindow(NULL);
         GetCursorPos(&pt);
-        SetForegroundWindow(NULL);
-        TrackPopupMenu(hMenu, TPM_LEFTALIGN|TPM_RIGHTBUTTON, pt.x, pt.y, 0, hWnd, NULL);
+        TrackPopupMenu(hMenu, TPM_LEFTALIGN|TPM_RIGHTBUTTON, 
+                       pt.x, pt.y, 0, hWnd, NULL);
         DestroyMenu(hMenu);
     }
 }
@@ -350,9 +352,11 @@ void ShowTryServicesMenu(HWND hWnd)
         }
         if (i)
         {
+            if (!SetForegroundWindow(hWnd))
+                SetForegroundWindow(NULL);
             GetCursorPos(&pt);
-            SetForegroundWindow(NULL);
-            TrackPopupMenu(hMenu, TPM_LEFTALIGN|TPM_RIGHTBUTTON, pt.x, pt.y, 0, hWnd, NULL);
+            TrackPopupMenu(hMenu, TPM_LEFTALIGN|TPM_RIGHTBUTTON, 
+                           pt.x, pt.y, 0, hWnd, NULL);
             DestroyMenu(hMenu);
         }
     }