wineconsole[6/6]: WM_RBUTTONDOWN lParam is in client coordinates not window coordinates

Mikołaj Zalewski mikolaj at zalewski.pl
Wed Oct 18 08:56:36 CDT 2006


This makes the popup menu show in the correct place.
-------------- next part --------------
diff --git a/programs/wineconsole/user.c b/programs/wineconsole/user.c
index 19a1625..5254e71 100644
--- a/programs/wineconsole/user.c
+++ b/programs/wineconsole/user.c
@@ -1184,12 +1184,14 @@ static LRESULT CALLBACK WCUSER_Proc(HWND
     case WM_RBUTTONDOWN:
         if ((wParam & (MK_CONTROL|MK_SHIFT)) == data->curcfg.menu_mask)
         {
-            RECT        r;
+            POINT       pt;
 
-            GetWindowRect(hWnd, &r);
+            pt.x = LOWORD(lParam);
+            pt.y = HIWORD(lParam);
+            ClientToScreen(hWnd, &pt);
             WCUSER_SetMenuDetails(data, PRIVATE(data)->hPopMenu);
             TrackPopupMenu(PRIVATE(data)->hPopMenu, TPM_LEFTALIGN|TPM_TOPALIGN,
-                           r.left + LOWORD(lParam), r.top + HIWORD(lParam), 0, hWnd, NULL);
+                           pt.x, pt.y, 0, hWnd, NULL);
         }
         else
         {
-- 
1.4.2.3


More information about the wine-patches mailing list