[PATCH] regedit: Use a separate pop-up menu for the 'Computer' root node

Hugh McMaster hugh.mcmaster at outlook.com
Wed May 24 07:48:33 CDT 2017


Fixes bug https://bugs.winehq.org/show_bug.cgi?id=37405

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
 programs/regedit/childwnd.c | 6 ++++--
 programs/regedit/main.h     | 7 ++++---
 programs/regedit/regedit.rc | 7 +++++++
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/programs/regedit/childwnd.c b/programs/regedit/childwnd.c
index 7d7c1a2..34c6a94 100644
--- a/programs/regedit/childwnd.c
+++ b/programs/regedit/childwnd.c
@@ -377,9 +377,11 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
         ht.pt = pt;
         ScreenToClient(g_pChildWnd->hTreeWnd, &ht.pt);
         if (SendMessageW(g_pChildWnd->hTreeWnd, TVM_HITTEST, 0, (LPARAM)&ht)) {
+            HTREEITEM root;
             SendMessageW(g_pChildWnd->hTreeWnd, TVM_SELECTITEM, TVGN_CARET, (LPARAM)ht.hItem);
-            TrackPopupMenu(GetSubMenu(hPopupMenus, PM_TREEVIEW), TPM_RIGHTBUTTON,
-                           pt.x, pt.y, 0, hFrameWnd, NULL);
+            root = (HTREEITEM)SendMessageW(g_pChildWnd->hTreeWnd, TVM_GETNEXTITEM, TVGN_ROOT, 0);
+            TrackPopupMenu(GetSubMenu(hPopupMenus, ht.hItem == root ? PM_COMPUTER : PM_TREEVIEW),
+                           TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);
         }
         break;
     }
diff --git a/programs/regedit/main.h b/programs/regedit/main.h
index fffd8d0..a8e464e 100644
--- a/programs/regedit/main.h
+++ b/programs/regedit/main.h
@@ -37,9 +37,10 @@
 #define WM_NOTIFY_REFLECT (WM_USER+1024)
 
 /* Pop-Up Menus */
-#define PM_TREEVIEW      0
-#define PM_NEW_VALUE     1
-#define PM_MODIFY_VALUE  2
+#define PM_COMPUTER      0
+#define PM_TREEVIEW      1
+#define PM_NEW_VALUE     2
+#define PM_MODIFY_VALUE  3
 
 /* HexEdit Class */
 #define HEM_SETDATA (WM_USER+0)
diff --git a/programs/regedit/regedit.rc b/programs/regedit/regedit.rc
index 89e5e08..d711c2c 100644
--- a/programs/regedit/regedit.rc
+++ b/programs/regedit/regedit.rc
@@ -84,6 +84,13 @@ END
 
 IDR_POPUP_MENUS MENU
 BEGIN
+  /* PM_COMPUTER */
+  POPUP ""
+  BEGIN
+        MENUITEM "Expand",                      ID_TREE_EXPAND_COLLAPSE
+        MENUITEM SEPARATOR
+        MENUITEM "&Export...",                  ID_EDIT_EXPORT
+  END
   /* PM_TREEVIEW */
   POPUP ""
   BEGIN
-- 
2.7.4




More information about the wine-patches mailing list