[PATCH] Fixed wrong cast in some HANDLE_MSG_WM_* macros

Marcos GutiƩrrez Batz sacrom at gmail.com
Thu May 24 03:22:24 CDT 2018


Hi Zhiyi,

I've added the signoff. I hope it to be OK now.

Thanks,
Marcos

On 24/05/2018 10:12, Zhiyi Zhang wrote:
> Hi, Marcos,
>
> Thanks for your contribution. Patch looks good.
> Please add a signoff with "git commit -s".
>
> Thanks,
> Zhiyi
>
> On Thu 5 24 15:00, Marcos GutiƩrrez Batz wrote:
>>
>>
>>

-------------- next part --------------
From d723ed99a3d1601ff0fb74cd954761df9b955d7c Mon Sep 17 00:00:00 2001
From: Marcos Gutierrez <sacrom at gmail.com>
Date: Thu, 24 May 2018 10:19:04 +0200
Subject: [PATCH] Fixed wrong cast in some HANDLE_MSG_WM_* macros
 (https://bugs.winehq.org/show_bug.cgi?id=45243)

Signed-off-by: Marcos Gutierrez <sacrom at gmail.com>
---
 include/windowsx.h | 58 +++++++++++++++++++++++++++---------------------------
 1 file changed, 29 insertions(+), 29 deletions(-)

diff --git a/include/windowsx.h b/include/windowsx.h
index fa27b49..2508948 100644
--- a/include/windowsx.h
+++ b/include/windowsx.h
@@ -361,7 +361,7 @@ extern "C" {
 	((int)SendMessage((hwndCtl), EM_GETFIRSTVISIBLELINE, 0L, 0L))
 
 #define Edit_GetHandle(hwndCtl) \
-	((HLOCAL)SendMessage((hwndCtl), EM_GETHANDLE, 0L, 0L))
+	((HLOCAL)(UINT_PTR)SendMessage((hwndCtl), EM_GETHANDLE, 0L, 0L))
 
 #define Edit_GetLine(hwndCtl, line, lpch, cchMax) \
 	((*((int *)(lpch)) = (cchMax)), ((int)SendMessage((hwndCtl), EM_GETLINE, (WPARAM)(int)(line), (LPARAM)(LPTSTR)(lpch))))
@@ -412,7 +412,7 @@ extern "C" {
 	((BOOL)SendMessage((hwndCtl), EM_SCROLLCARET, 0, 0L))
 
 #define Edit_SetHandle(hwndCtl, h) \
-	((void)SendMessage((hwndCtl), EM_SETHANDLE, (WPARAM)(UINT)(HLOCAL)(h), 0L))
+	((void)SendMessage((hwndCtl), EM_SETHANDLE, (WPARAM)(UINT_PTR)(HLOCAL)(h), 0L))
 
 #define Edit_SetModify(hwndCtl, fModified) \
 	((void)SendMessage((hwndCtl), EM_SETMODIFY, (WPARAM)(UINT)(fModified), 0L))
@@ -583,7 +583,7 @@ extern "C" {
 	EnableWindow((hwndCtl), (fEnable))
 
 #define Static_GetIcon(hwndCtl, hIcon) \
-	((HICON)SendMessage((hwndCtl), STM_GETICON, 0L, 0L))
+	((HICON)(UINT_PTR)SendMessage((hwndCtl), STM_GETICON, 0L, 0L))
 
 #define Static_GetText(hwndCtl, lpch, cchMax) \
 	GetWindowText((hwndCtl), (lpch), (cchMax))
@@ -592,7 +592,7 @@ extern "C" {
 	GetWindowTextLength(hwndCtl)
 
 #define Static_SetIcon(hwndCtl, hIcon) \
-	((HICON)SendMessage((hwndCtl), STM_SETICON, (WPARAM)(HICON)(hIcon), 0L))
+	((HICON)(UINT_PTR)SendMessage((hwndCtl), STM_SETICON, (WPARAM)(HICON)(hIcon), 0L))
 
 #define Static_SetText(hwndCtl, lpsz) \
 	SetWindowText((hwndCtl), (lpsz))
@@ -1081,9 +1081,9 @@ extern "C" {
 
 /* HANDLE Cls_OnRenderFormat(HWND hwnd, UINT fmt) */
 #define HANDLE_WM_RENDERFORMAT(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(HANDLE)(fn)((hwnd), (UINT)(wParam))
+    (LRESULT)(DWORD)(UINT_PTR)(HANDLE)(fn)((hwnd), (UINT)(wParam))
 #define FORWARD_WM_RENDERFORMAT(hwnd, fmt, fn) \
-    (HANDLE)(UINT)(DWORD)(fn)((hwnd), WM_RENDERFORMAT, (WPARAM)(UINT)(fmt), 0L)
+    (HANDLE)(UINT_PTR)(DWORD)(fn)((hwnd), WM_RENDERFORMAT, (WPARAM)(UINT)(fmt), 0L)
 
 /* void Cls_OnRenderAllFormats(HWND hwnd) */
 #define HANDLE_WM_RENDERALLFORMATS(hwnd, wParam, lParam, fn)  ((fn)(hwnd), 0L)
@@ -1174,7 +1174,7 @@ extern "C" {
 #define HANDLE_WM_MDINEXT(hwnd, wParam, lParam, fn) \
     (LRESULT)(HWND)(fn)((hwnd), (HWND)(wParam), (BOOL)lParam)
 #define FORWARD_WM_MDINEXT(hwnd, hwndCur, fPrev, fn) \
-    (HWND)(UINT)(DWORD)(fn)((hwnd), WM_MDINEXT, (WPARAM)(hwndCur), (LPARAM)(fPrev))
+    (HWND)(UINT_PTR)(DWORD)(fn)((hwnd), WM_MDINEXT, (WPARAM)(hwndCur), (LPARAM)(fPrev))
 
 /* void Cls_MDIMaximize(HWND hwnd, HWND hwndMaximize) */
 #define HANDLE_WM_MDIMAXIMIZE(hwnd, wParam, lParam, fn) \
@@ -1202,15 +1202,15 @@ extern "C" {
 
 /* HWND Cls_MDIGetActive(HWND hwnd) */
 #define HANDLE_WM_MDIGETACTIVE(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(fn)(hwnd)
+    (LRESULT)(DWORD)(UINT_PTR)(fn)(hwnd)
 #define FORWARD_WM_MDIGETACTIVE(hwnd, fn) \
-    (HWND)(UINT)(DWORD)(fn)((hwnd), WM_MDIGETACTIVE, 0L, 0L)
+    (HWND)(UINT_PTR)(DWORD)(fn)((hwnd), WM_MDIGETACTIVE, 0L, 0L)
 
 /* HMENU Cls_MDISetMenu(HWND hwnd, BOOL fRefresh, HMENU hmenuFrame, HMENU hmenuWindow) */
 #define HANDLE_WM_MDISETMENU(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(fn)((hwnd), (BOOL)(wParam), (HMENU)(wParam), (HMENU)(lParam))
+    (LRESULT)(DWORD)(UINT_PTR)(fn)((hwnd), (BOOL)(wParam), (HMENU)(wParam), (HMENU)(lParam))
 #define FORWARD_WM_MDISETMENU(hwnd, fRefresh, hmenuFrame, hmenuWindow, fn) \
-    (HMENU)(UINT)(DWORD)(fn)((hwnd), WM_MDISETMENU, (WPARAM)((fRefresh) ? (hmenuFrame) : 0), (LPARAM)(hmenuWindow))
+    (HMENU)(UINT_PTR)(DWORD)(fn)((hwnd), WM_MDISETMENU, (WPARAM)((fRefresh) ? (hmenuFrame) : 0), (LPARAM)(hmenuWindow))
 
 /* void Cls_OnChildActivate(HWND hwnd) */
 #define HANDLE_WM_CHILDACTIVATE(hwnd, wParam, lParam, fn) \
@@ -1226,9 +1226,9 @@ extern "C" {
 
 /* HWND Cls_OnNextDlgCtl(HWND hwnd, HWND hwndSetFocus, BOOL fNext) */
 #define HANDLE_WM_NEXTDLGCTL(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(HWND)(fn)((hwnd), (HWND)(wParam), (BOOL)(lParam))
+    (LRESULT)(DWORD)(UINT_PTR)(HWND)(fn)((hwnd), (HWND)(wParam), (BOOL)(lParam))
 #define FORWARD_WM_NEXTDLGCTL(hwnd, hwndSetFocus, fNext, fn) \
-    (HWND)(UINT)(DWORD)(fn)((hwnd), WM_NEXTDLGCTL, (WPARAM)(HWND)(hwndSetFocus), (LPARAM)(fNext))
+    (HWND)(UINT_PTR)(DWORD)(fn)((hwnd), WM_NEXTDLGCTL, (WPARAM)(HWND)(hwndSetFocus), (LPARAM)(fNext))
 
 /* void Cls_OnParentNotify(HWND hwnd, UINT msg, HWND hwndChild, int idChild) */
 #define HANDLE_WM_PARENTNOTIFY(hwnd, wParam, lParam, fn) \
@@ -1250,39 +1250,39 @@ extern "C" {
 
 /* HBRUSH Cls_OnCtlColor(HWND hwnd, HDC hdc, HWND hwndChild, int type) */
 #define HANDLE_WM_CTLCOLORMSGBOX(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_MSGBOX)
+    (LRESULT)(DWORD)(UINT_PTR)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_MSGBOX)
 #define FORWARD_WM_CTLCOLORMSGBOX(hwnd, hdc, hwndChild, fn) \
-    (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORMSGBOX, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
+    (HBRUSH)(UINT_PTR)(DWORD)(fn)((hwnd), WM_CTLCOLORMSGBOX, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
 
 #define HANDLE_WM_CTLCOLOREDIT(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_EDIT)
+    (LRESULT)(DWORD)(UINT_PTR)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_EDIT)
 #define FORWARD_WM_CTLCOLOREDIT(hwnd, hdc, hwndChild, fn) \
-    (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLOREDIT, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
+    (HBRUSH)(UINT_PTR)(DWORD)(fn)((hwnd), WM_CTLCOLOREDIT, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
 
 #define HANDLE_WM_CTLCOLORLISTBOX(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_LISTBOX)
+    (LRESULT)(DWORD)(UINT_PTR)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_LISTBOX)
 #define FORWARD_WM_CTLCOLORLISTBOX(hwnd, hdc, hwndChild, fn) \
-    (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORLISTBOX, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
+    (HBRUSH)(UINT_PTR)(DWORD)(fn)((hwnd), WM_CTLCOLORLISTBOX, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
 
 #define HANDLE_WM_CTLCOLORBTN(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_BTN)
+    (LRESULT)(DWORD)(UINT_PTR)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_BTN)
 #define FORWARD_WM_CTLCOLORBTN(hwnd, hdc, hwndChild, fn) \
-    (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORBTN, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
+    (HBRUSH)(UINT_PTR)(DWORD)(fn)((hwnd), WM_CTLCOLORBTN, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
 
 #define HANDLE_WM_CTLCOLORDLG(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_DLG)
+    (LRESULT)(DWORD)(UINT_PTR)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_DLG)
 #define FORWARD_WM_CTLCOLORDLG(hwnd, hdc, hwndChild, fn) \
-    (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORDLG, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
+    (HBRUSH)(UINT_PTR)(DWORD)(fn)((hwnd), WM_CTLCOLORDLG, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
 
 #define HANDLE_WM_CTLCOLORSCROLLBAR(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_SCROLLBAR)
+    (LRESULT)(DWORD)(UINT_PTR)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_SCROLLBAR)
 #define FORWARD_WM_CTLCOLORSCROLLBAR(hwnd, hdc, hwndChild, fn) \
-    (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORSCROLLBAR, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
+    (HBRUSH)(UINT_PTR)(DWORD)(fn)((hwnd), WM_CTLCOLORSCROLLBAR, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
 
 #define HANDLE_WM_CTLCOLORSTATIC(hwnd, wParam, lParam, fn) \
-    (LRESULT)(DWORD)(UINT)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_STATIC)
+    (LRESULT)(DWORD)(UINT_PTR)(HBRUSH)(fn)((hwnd), (HDC)(wParam), (HWND)(lParam), CTLCOLOR_STATIC)
 #define FORWARD_WM_CTLCOLORSTATIC(hwnd, hdc, hwndChild, fn) \
-    (HBRUSH)(UINT)(DWORD)(fn)((hwnd), WM_CTLCOLORSTATIC, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
+    (HBRUSH)(UINT_PTR)(DWORD)(fn)((hwnd), WM_CTLCOLORSTATIC, (WPARAM)(HDC)(hdc), (LPARAM)(HWND)(hwndChild))
 
 /* void Cls_OnDeleteItem(HWND hwnd, const DELETEITEMSTRUCT * lpDeleteItem) */
 #define HANDLE_WM_DELETEITEM(hwnd, wParam, lParam, fn) \
@@ -1366,8 +1366,8 @@ extern "C" {
 	(UINT)(DWORD)(fn)((hwnd), WM_NCHITTEST, 0L, MAKELPARAM((x), (y)))
 
 /* HFONT Cls_OnGetFont(HWND hwnd) */
-#define HANDLE_WM_GETFONT(hwnd, wParam, lParam, fn)  (LRESULT)(DWORD)(UINT)(HFONT)(fn)(hwnd)
-#define FORWARD_WM_GETFONT(hwnd, fn)  (HFONT)(UINT)(DWORD)(fn)((hwnd), WM_GETFONT, 0L, 0L)
+#define HANDLE_WM_GETFONT(hwnd, wParam, lParam, fn)  (LRESULT)(DWORD)(UINT_PTR)(HFONT)(fn)(hwnd)
+#define FORWARD_WM_GETFONT(hwnd, fn)  (HFONT)(UINT_PTR)(DWORD)(fn)((hwnd), WM_GETFONT, 0L, 0L)
 
 /* void Cls_OnSetFont(HWND hwndCtl, HFONT hfont, BOOL fRedraw) */
 #define HANDLE_WM_SETFONT(hwnd, wParam, lParam, fn) \
-- 
2.7.4



More information about the wine-devel mailing list