[PATCH] regedit: Only allow key renaming via the Edit or Popup menus (v2)
Hugh McMaster
hugh.mcmaster at outlook.com
Tue Jan 3 06:33:48 CST 2017
Fixes https://bugs.winehq.org/show_bug.cgi?id=37458
Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
---
programs/regedit/childwnd.c | 8 +++++++-
programs/regedit/treeview.c | 1 +
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/programs/regedit/childwnd.c b/programs/regedit/childwnd.c
index 55b11de..08eeec1 100644
--- a/programs/regedit/childwnd.c
+++ b/programs/regedit/childwnd.c
@@ -419,7 +419,12 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
}
case TVN_BEGINLABELEDITW: {
HKEY hRootKey;
- LPWSTR path = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey);
+ LPWSTR path;
+
+ if (!GetWindowLongPtrW(g_pChildWnd->hTreeWnd, GWLP_USERDATA))
+ return 1;
+
+ path = GetItemPath(g_pChildWnd->hTreeWnd, 0, &hRootKey);
if (!path || !*path) return 1;
return 0;
}
@@ -440,6 +445,7 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
HeapFree(GetProcessHeap(), 0, fullPath);
}
HeapFree(GetProcessHeap(), 0, path);
+ SetWindowLongPtrW(g_pChildWnd->hTreeWnd, GWLP_USERDATA, 0);
return res;
}
default:
diff --git a/programs/regedit/treeview.c b/programs/regedit/treeview.c
index 7afc7bf..07e9b41 100644
--- a/programs/regedit/treeview.c
+++ b/programs/regedit/treeview.c
@@ -529,6 +529,7 @@ HWND StartKeyRename(HWND hwndTV)
HTREEITEM hItem;
if(!(hItem = (HTREEITEM)SendMessageW(hwndTV, TVM_GETNEXTITEM, TVGN_CARET, 0))) return 0;
+ SetWindowLongPtrW(hwndTV, GWLP_USERDATA, 1);
return (HWND)SendMessageW(hwndTV, TVM_EDITLABELW, 0, (LPARAM)hItem);
}
--
2.7.4
More information about the wine-patches
mailing list