Hugh McMaster : regedit: Set the dlgproc value name via a function, not a global.
Alexandre Julliard
julliard at winehq.org
Mon Jul 25 16:19:29 CDT 2022
Module: wine
Branch: master
Commit: d1bc3623e8dfe1b71e9d0c6905cdde03cf253f30
URL: https://gitlab.winehq.org/wine/wine/-/commit/d1bc3623e8dfe1b71e9d0c6905cdde03cf253f30
Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date: Mon Jul 25 20:40:27 2022 +1000
regedit: Set the dlgproc value name via a function, not a global.
---
programs/regedit/edit.c | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)
diff --git a/programs/regedit/edit.c b/programs/regedit/edit.c
index e63fd8fcf8b..4588be196d6 100644
--- a/programs/regedit/edit.c
+++ b/programs/regedit/edit.c
@@ -29,7 +29,6 @@
#include "main.h"
-static const WCHAR* editValueName;
static BOOL isDecimal;
struct edit_params
@@ -150,6 +149,14 @@ static BOOL update_registry_value(HWND hwndDlg, struct edit_params *params)
return !ret;
}
+static void set_dlgproc_value_name(HWND hwndDlg, struct edit_params *params)
+{
+ if (params->value_name)
+ SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, params->value_name);
+ else
+ SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, g_pszDefaultValueName);
+}
+
static INT_PTR CALLBACK modify_string_dlgproc(HWND hwndDlg, UINT msg, WPARAM wparam, LPARAM lparam)
{
struct edit_params *params;
@@ -160,7 +167,7 @@ static INT_PTR CALLBACK modify_string_dlgproc(HWND hwndDlg, UINT msg, WPARAM wpa
case WM_INITDIALOG:
params = (struct edit_params *)lparam;
SetWindowLongPtrW(hwndDlg, DWLP_USER, (ULONG_PTR)params);
- SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, editValueName);
+ set_dlgproc_value_name(hwndDlg, params);
SetDlgItemTextW(hwndDlg, IDC_VALUE_DATA, params->data);
return TRUE;
case WM_COMMAND:
@@ -200,7 +207,7 @@ static INT_PTR CALLBACK modify_dword_dlgproc(HWND hwndDlg, UINT msg, WPARAM wpar
case WM_INITDIALOG:
params = (struct edit_params *)lparam;
SetWindowLongPtrW(hwndDlg, DWLP_USER, (ULONG_PTR)params);
- SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, editValueName);
+ set_dlgproc_value_name(hwndDlg, params);
SetDlgItemTextW(hwndDlg, IDC_VALUE_DATA, params->data);
CheckRadioButton(hwndDlg, IDC_DWORD_HEX, IDC_DWORD_DEC, IDC_DWORD_HEX);
isDecimal = FALSE;
@@ -237,10 +244,7 @@ static INT_PTR CALLBACK modify_binary_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wP
case WM_INITDIALOG:
params = (struct edit_params *)lParam;
SetWindowLongPtrW(hwndDlg, DWLP_USER, (ULONG_PTR)params);
- if (params->value_name)
- SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, params->value_name);
- else
- SetDlgItemTextW(hwndDlg, IDC_VALUE_NAME, g_pszDefaultValueName);
+ set_dlgproc_value_name(hwndDlg, params);
SendDlgItemMessageW(hwndDlg, IDC_VALUE_DATA, HEM_SETDATA, (WPARAM)params->size, (LPARAM)params->data);
SendDlgItemMessageW(hwndDlg, IDC_VALUE_DATA, WM_SETFONT, (WPARAM) GetStockObject(ANSI_FIXED_FONT), TRUE);
return TRUE;
@@ -380,8 +384,6 @@ BOOL ModifyValue(HWND hwnd, HKEY hKeyRoot, LPCWSTR keyPath, LPCWSTR valueName)
struct edit_params params;
BOOL result = FALSE;
- editValueName = valueName ? valueName : g_pszDefaultValueName;
-
if (RegOpenKeyExW(hKeyRoot, keyPath, 0, KEY_READ | KEY_SET_VALUE, ¶ms.hkey))
{
error_code_messagebox(hwnd, IDS_SET_VALUE_FAILED);
More information about the wine-cvs
mailing list