From f667dd6616e09a3b85368059f8bb7f78ce8305e1 Mon Sep 17 00:00:00 2001 From: Tsarevich Dmitry Date: Sun, 23 Feb 2020 18:04:03 +0300 Subject: [PATCH] [x86-64] Prefer to use GetWindowLongPtr for x86/x86-x64 It is peferrable to use GetWindowLongPtr instead of GetWindowLong for both x86 and x86-64 support, since return value may be pointer in some cases and, when platform is x86-64 and accepting value is LONG, higher bits of result may be lost. See https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getwindowlonga --- src/ui.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ui.c b/src/ui.c index 4fe9003d..32fc07b8 100644 --- a/src/ui.c +++ b/src/ui.c @@ -149,7 +149,7 @@ void GetMainButtonsWidth(HWND hDlg) { unsigned int i; RECT rc; - LONG style; + LONG_PTR style; char download[64]; GetWindowRect(GetDlgItem(hDlg, main_button_ids[0]), &rc); @@ -167,9 +167,9 @@ void GetMainButtonsWidth(HWND hDlg) static_strcpy(download, lmprintf(MSG_040)); CharUpperBuffU(download, sizeof(download)); bw = max(bw, GetTextSize(GetDlgItem(hDlg, IDC_SELECT), download).cx + (3 * cbw) / 2); - style = GetWindowLong(GetDlgItem(hDlg, IDC_SELECT), GWL_STYLE); - style|= BS_SPLITBUTTON; - SetWindowLong(GetDlgItem(hDlg, IDC_SELECT), GWL_STYLE, style); + style = GetWindowLongPtr(GetDlgItem(hDlg, IDC_SELECT), GWL_STYLE); + style |= BS_SPLITBUTTON; + SetWindowLongPtr(GetDlgItem(hDlg, IDC_SELECT), GWL_STYLE, style); } }