[PATCH 2/2] winecfg: Set buddy window for the size up-down control only once.

Zhiyi Zhang zzhang at codeweavers.com
Tue Jun 22 03:18:05 CDT 2021


Fix the size up-down control becoming smaller every time the apply button is pressed in the Desktop
Integration tab.

UDM_SETBUDDY always shrinks the buddy window for a up-down control according to tests. And a
PSN_SETACTIVE notification is sent every time the apply button is pressed, thus init_dialog() gets
called again and sends an extra UDM_SETBUDDY message.

Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
 programs/winecfg/theme.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/programs/winecfg/theme.c b/programs/winecfg/theme.c
index b38b2ff26d6..687ea571311 100644
--- a/programs/winecfg/theme.c
+++ b/programs/winecfg/theme.c
@@ -434,6 +434,12 @@ static void enable_size_and_color_controls (HWND dialog, BOOL enable)
 }
   
 static void init_dialog (HWND dialog)
+{
+    SendDlgItemMessageW(dialog, IDC_SYSPARAM_SIZE_UD, UDM_SETBUDDY,
+                        (WPARAM)GetDlgItem(dialog, IDC_SYSPARAM_SIZE), 0);
+}
+
+static void update_dialog (HWND dialog)
 {
     updating_ui = TRUE;
     
@@ -452,7 +458,6 @@ static void init_dialog (HWND dialog)
     }
     theme_dirty = FALSE;
 
-    SendDlgItemMessageW(dialog, IDC_SYSPARAM_SIZE_UD, UDM_SETBUDDY, (WPARAM)GetDlgItem(dialog, IDC_SYSPARAM_SIZE), 0);
     SendDlgItemMessageW(dialog, IDC_SYSPARAM_SIZE_UD, UDM_SETRANGE, 0, MAKELONG(100, 8));
 
     updating_ui = FALSE;
@@ -1197,6 +1202,7 @@ ThemeDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
             update_shell_folder_listview(hDlg);
             read_sysparams(hDlg);
             init_mime_types(hDlg);
+            init_dialog(hDlg);
             break;
 
         case WM_DESTROY:
@@ -1349,7 +1355,7 @@ ThemeDlgProc (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
                     break;
                 }
                 case PSN_SETACTIVE: {
-                    init_dialog (hDlg);
+                    update_dialog(hDlg);
                     break;
                 }
             }
-- 
2.30.2



More information about the wine-devel mailing list