user32: Fix some compilation warnings in 64-bit mode

Dmitry Timoshkov dmitry at codeweavers.com
Wed May 30 05:32:24 CDT 2007


Hello,

Changelog:
    user32: Fix some compilation warnings in 64-bit mode.

---
 dlls/user32/caret.c        |    2 +-
 dlls/user32/dde_misc.c     |    2 +-
 dlls/user32/dde_private.h  |    2 +-
 dlls/user32/dde_server.c   |    2 +-
 dlls/user32/edit.c         |   12 ++++++------
 dlls/user32/listbox.c      |    2 +-
 dlls/user32/mdi.c          |    2 +-
 dlls/user32/menu.c         |    2 +-
 dlls/user32/message.c      |    2 +-
 dlls/user32/msg16.c        |    2 +-
 dlls/user32/sysparams.c    |   28 ++++++++++++++--------------
 dlls/user32/uitools.c      |    2 +-
 dlls/user32/user_private.h |    6 +++---
 dlls/user32/win.c          |    4 ++--
 dlls/user32/winproc.c      |   16 ++++++++--------
 15 files changed, 43 insertions(+), 43 deletions(-)

diff --git a/dlls/user32/caret.c b/dlls/user32/caret.c
index 308dc2b..81e6a93 100644
--- a/dlls/user32/caret.c
+++ b/dlls/user32/caret.c
@@ -156,7 +156,7 @@ BOOL WINAPI CreateCaret( HWND hwnd, HBITMAP bitmap, INT width, INT height )
 		{
 		    HBITMAP hPrevBmp = SelectObject(hMemDC, hBmp);
                     SetRect( &r, 0, 0, width, height );
-		    FillRect(hMemDC, &r, (HBRUSH)((bitmap ? COLOR_GRAYTEXT : COLOR_WINDOW) + 1));
+		    FillRect(hMemDC, &r, ULongToPtr((bitmap ? COLOR_GRAYTEXT : COLOR_WINDOW) + 1));
 		    SelectObject(hMemDC, hPrevBmp);
 		}
 		DeleteDC(hMemDC);
diff --git a/dlls/user32/dde_misc.c b/dlls/user32/dde_misc.c
index 24062c3..cac3192 100644
--- a/dlls/user32/dde_misc.c
+++ b/dlls/user32/dde_misc.c
@@ -1984,7 +1984,7 @@ WDML_CONV*	WDML_GetConvFromWnd(HWND hWnd)
  *
  */
 BOOL		WDML_PostAck(WDML_CONV* pConv, WDML_SIDE side, WORD appRetCode,
-			     BOOL fBusy, BOOL fAck, UINT pmt, LPARAM lParam, UINT oldMsg)
+			     BOOL fBusy, BOOL fAck, UINT_PTR pmt, LPARAM lParam, UINT oldMsg)
 {
     DDEACK	ddeAck;
     HWND	from, to;
diff --git a/dlls/user32/dde_private.h b/dlls/user32/dde_private.h
index 00882e4..95b6a31 100644
--- a/dlls/user32/dde_private.h
+++ b/dlls/user32/dde_private.h
@@ -210,7 +210,7 @@ extern	WDML_CONV*	WDML_GetConvFromWnd(HWND hWnd);
 extern	WDML_CONV*	WDML_FindConv(WDML_INSTANCE* pInstance, WDML_SIDE side,
 				      HSZ hszService, HSZ hszTopic);
 extern  BOOL		WDML_PostAck(WDML_CONV* pConv, WDML_SIDE side, WORD appRetCode,
-				     BOOL fBusy, BOOL fAck, UINT pmt, LPARAM lParam, UINT oldMsg);
+				     BOOL fBusy, BOOL fAck, UINT_PTR pmt, LPARAM lParam, UINT oldMsg);
 extern	void		WDML_AddLink(WDML_INSTANCE* pInstance, HCONV hConv, WDML_SIDE side,
 				     UINT wType, HSZ hszItem, UINT wFmt);
 extern	WDML_LINK*	WDML_FindLink(WDML_INSTANCE* pInstance, HCONV hConv, WDML_SIDE side,
diff --git a/dlls/user32/dde_server.c b/dlls/user32/dde_server.c
index e047724..8f43c36 100644
--- a/dlls/user32/dde_server.c
+++ b/dlls/user32/dde_server.c
@@ -800,7 +800,7 @@ static	WDML_QUEUE_STATE WDML_ServerHandleExecute(WDML_CONV* pConv, WDML_XACT* pX
     case DDE_FNOTPROCESSED:
 	break;
     }
-    WDML_PostAck(pConv, WDML_SERVER_SIDE, 0, fBusy, fAck, (UINT)pXAct->hMem, 0, 0);
+    WDML_PostAck(pConv, WDML_SERVER_SIDE, 0, fBusy, fAck, (UINT_PTR)pXAct->hMem, 0, 0);
 
     return WDML_QS_HANDLED;
 }
diff --git a/dlls/user32/edit.c b/dlls/user32/edit.c
index 9b61fb3..3f2282f 100644
--- a/dlls/user32/edit.c
+++ b/dlls/user32/edit.c
@@ -1686,7 +1686,7 @@ static LPWSTR EDIT_GetPasswordPointer_SL(EDITSTATE *es)
  */
 static void EDIT_LockBuffer(EDITSTATE *es)
 {
-	STACK16FRAME* stack16 = MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved);
+	STACK16FRAME* stack16 = MapSL(PtrToUlong(NtCurrentTeb()->WOW32Reserved));
 	HINSTANCE16 hInstance = GetWindowLongPtrW( es->hwndSelf, GWLP_HINSTANCE );
 
 	if (!es->text) {
@@ -2487,7 +2487,7 @@ static void EDIT_UnlockBuffer(EDITSTATE *es, BOOL force)
 		    TRACE("Synchronizing with 16-bit ANSI buffer\n");
 		    TRACE("%d WCHARs translated to %d bytes\n", countW, countA_new);
 
-		    stack16 = MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved);
+		    stack16 = MapSL(PtrToUlong(NtCurrentTeb()->WOW32Reserved));
 		    oldDS = stack16->ds;
 		    stack16->ds = GetWindowLongPtrW( es->hwndSelf, GWLP_HINSTANCE );
 
@@ -2760,7 +2760,7 @@ static HLOCAL16 EDIT_EM_GetHandle16(EDITSTATE *es)
 	if (es->hloc16)
 		return es->hloc16;
 
-	stack16 = MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved);
+	stack16 = MapSL(PtrToUlong(NtCurrentTeb()->WOW32Reserved));
 	oldDS = stack16->ds;
 	stack16->ds = GetWindowLongPtrW( es->hwndSelf, GWLP_HINSTANCE );
 
@@ -3506,7 +3506,7 @@ static void EDIT_EM_SetHandle(EDITSTATE *es, HLOCAL hloc)
 
 	if(es->hloc16)
 	{
-	    STACK16FRAME* stack16 = MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved);
+	    STACK16FRAME* stack16 = MapSL(PtrToUlong(NtCurrentTeb()->WOW32Reserved));
 	    HANDLE16 oldDS = stack16->ds;
 	
 	    stack16->ds = GetWindowLongPtrW( es->hwndSelf, GWLP_HINSTANCE );
@@ -3578,7 +3578,7 @@ static void EDIT_EM_SetHandle(EDITSTATE *es, HLOCAL hloc)
  */
 static void EDIT_EM_SetHandle16(EDITSTATE *es, HLOCAL16 hloc)
 {
-	STACK16FRAME* stack16 = MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved);
+	STACK16FRAME* stack16 = MapSL(PtrToUlong(NtCurrentTeb()->WOW32Reserved));
 	HINSTANCE16 hInstance = GetWindowLongPtrW( es->hwndSelf, GWLP_HINSTANCE );
 	HANDLE16 oldDS = stack16->ds;
 	INT countW, countA;
@@ -4235,7 +4235,7 @@ static LRESULT EDIT_WM_Destroy(EDITSTATE *es)
 		LocalFree(es->hloc32A);
 	}
 	if (es->hloc16) {
-		STACK16FRAME* stack16 = MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved);
+		STACK16FRAME* stack16 = MapSL(PtrToUlong(NtCurrentTeb()->WOW32Reserved));
 		HANDLE16 oldDS = stack16->ds;
 
 		stack16->ds = GetWindowLongPtrW( es->hwndSelf, GWLP_HINSTANCE );
diff --git a/dlls/user32/listbox.c b/dlls/user32/listbox.c
index 166d176..911d364 100644
--- a/dlls/user32/listbox.c
+++ b/dlls/user32/listbox.c
@@ -2560,7 +2560,7 @@ static LRESULT WINAPI ListBoxWndProc_common( HWND hwnd, UINT msg,
 	    CREATESTRUCTW *lpcs = (CREATESTRUCTW *)lParam;
 	    if (lpcs->style & LBS_COMBOBOX) lphc = (LPHEADCOMBO)lpcs->lpCreateParams;
             if (!LISTBOX_Create( hwnd, lphc )) return -1;
-            TRACE("creating wnd=%p descr=%x\n", hwnd, GetWindowLongPtrW( hwnd, 0 ) );
+            TRACE("creating wnd=%p descr=%lx\n", hwnd, GetWindowLongPtrW( hwnd, 0 ) );
             return 0;
         }
         /* Ignore all other messages before we get a WM_CREATE */
diff --git a/dlls/user32/mdi.c b/dlls/user32/mdi.c
index 06c44d7..5825220 100644
--- a/dlls/user32/mdi.c
+++ b/dlls/user32/mdi.c
@@ -1062,7 +1062,7 @@ static LRESULT MDIClientWndProc_common( HWND hwnd, UINT message,
 	}
         else
 	{
-	    LPCLIENTCREATESTRUCT16 ccs = MapSL((SEGPTR)cs->lpCreateParams);
+	    LPCLIENTCREATESTRUCT16 ccs = MapSL(PtrToUlong(cs->lpCreateParams));
 	    ci->hWindowMenu	= HMENU_32(ccs->hWindowMenu);
 	    ci->idFirstChild	= ccs->idFirstChild;
 	}
diff --git a/dlls/user32/menu.c b/dlls/user32/menu.c
index 0aa110f..692a70c 100644
--- a/dlls/user32/menu.c
+++ b/dlls/user32/menu.c
@@ -4245,7 +4245,7 @@ HMENU16 WINAPI LoadMenu16( HINSTANCE16 instance, LPCSTR name )
     HGLOBAL16 handle;
     HMENU16 hMenu;
 
-    if (HIWORD(name) && name[0] == '#') name = (LPCSTR)atoi( name + 1 );
+    if (HIWORD(name) && name[0] == '#') name = ULongToPtr(atoi( name + 1 ));
     if (!name) return 0;
 
     instance = GetExePtr( instance );
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index 7945fa6..bfdd807 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -1485,7 +1485,7 @@ static BOOL unpack_dde_message( HWND hwnd, UINT message, WPARAM *wparam, LPARAM
 	    {
 		memcpy( ptr, *buffer, size );
 		GlobalUnlock( hMem );
-                TRACE( "exec: pairing c=%08lx s=%08x\n", *lparam, (DWORD)hMem );
+                TRACE( "exec: pairing c=%08lx s=%p\n", *lparam, hMem );
                 if (!dde_add_pair( (HGLOBAL)*lparam, hMem ))
                 {
                     GlobalFree( hMem );
diff --git a/dlls/user32/msg16.c b/dlls/user32/msg16.c
index 421f338..ffc01e2 100644
--- a/dlls/user32/msg16.c
+++ b/dlls/user32/msg16.c
@@ -194,7 +194,7 @@ LRESULT WINAPI DefWindowProc16( HWND16 hwnd16, UINT16 msg, WPARAM16 wParam, LPAR
             CREATESTRUCT16 *cs16 = MapSL(lParam);
             CREATESTRUCTA cs32;
 
-            cs32.lpCreateParams = (LPVOID)cs16->lpCreateParams;
+            cs32.lpCreateParams = ULongToPtr(cs16->lpCreateParams);
             cs32.hInstance      = HINSTANCE_32(cs16->hInstance);
             cs32.hMenu          = HMENU_32(cs16->hMenu);
             cs32.hwndParent     = WIN_Handle32(cs16->hwndParent);
diff --git a/dlls/user32/sysparams.c b/dlls/user32/sysparams.c
index 6c9fe80..f8feb0d 100644
--- a/dlls/user32/sysparams.c
+++ b/dlls/user32/sysparams.c
@@ -2136,7 +2136,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETMENUANIMATION:             /* 0x1003  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
-        ret = set_user_pref_param( 0, 0x02, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 0, 0x02, PtrToUlong(pvParam), fWinIni );
         break;
 
     case SPI_GETCOMBOBOXANIMATION:         /* 0x1004  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
@@ -2144,7 +2144,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETCOMBOBOXANIMATION:         /* 0x1005  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
-        ret = set_user_pref_param( 0, 0x04, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 0, 0x04, PtrToUlong(pvParam), fWinIni );
         break;
 
     case SPI_GETLISTBOXSMOOTHSCROLLING:    /* 0x1006  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
@@ -2152,7 +2152,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETLISTBOXSMOOTHSCROLLING:    /* 0x1007  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
-        ret = set_user_pref_param( 0, 0x08, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 0, 0x08, PtrToUlong(pvParam), fWinIni );
         break;
 
     case SPI_GETGRADIENTCAPTIONS:
@@ -2160,7 +2160,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETGRADIENTCAPTIONS:
-        ret = set_user_pref_param( 0, 0x10, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 0, 0x10, PtrToUlong(pvParam), fWinIni );
         break;
 
     case SPI_GETKEYBOARDCUES:
@@ -2168,7 +2168,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETKEYBOARDCUES:
-        ret = set_user_pref_param( 0, 0x20, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 0, 0x20, PtrToUlong(pvParam), fWinIni );
         break;
 
     WINE_SPI_FIXME(SPI_GETACTIVEWNDTRKZORDER);  /* 0x100C  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
@@ -2178,7 +2178,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETHOTTRACKING:
-        ret = set_user_pref_param( 0, 0x80, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 0, 0x80, PtrToUlong(pvParam), fWinIni );
         break;
 
     WINE_SPI_FIXME(SPI_GETMENUFADE);            /* 0x1012  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
@@ -2188,7 +2188,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETSELECTIONFADE:                  /* 0x1015  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
-        ret = set_user_pref_param( 1, 0x04, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 1, 0x04, PtrToUlong(pvParam), fWinIni );
         break;
 
     case SPI_GETTOOLTIPANIMATION:               /* 0x1016  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
@@ -2196,7 +2196,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETTOOLTIPANIMATION:               /* 0x1017  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
-        ret = set_user_pref_param( 1, 0x08, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 1, 0x08, PtrToUlong(pvParam), fWinIni );
         break;
 
     case SPI_GETTOOLTIPFADE:                    /* 0x1018  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
@@ -2204,7 +2204,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETTOOLTIPFADE:                    /* 0x1019  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
-        ret = set_user_pref_param( 1, 0x10, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 1, 0x10, PtrToUlong(pvParam), fWinIni );
         break;
 
     case SPI_GETCURSORSHADOW:                   /* 0x101A  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
@@ -2212,7 +2212,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETCURSORSHADOW:                   /* 0x101B  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
-        ret = set_user_pref_param( 1, 0x20, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 1, 0x20, PtrToUlong(pvParam), fWinIni );
         break;
 
     WINE_SPI_FIXME(SPI_GETMOUSESONAR);          /* 0x101C  _WIN32_WINNT >= 0x510 || _WIN32_WINDOW >= 0x490*/
@@ -2226,7 +2226,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
         break;
 
     case SPI_SETFLATMENU:
-        ret = set_user_pref_param( 2, 0x02, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 2, 0x02, PtrToUlong(pvParam), fWinIni );
         break;
 
     WINE_SPI_FIXME(SPI_GETDROPSHADOW);          /* 0x1024  _WIN32_WINNT >= 0x510 */
@@ -2239,7 +2239,7 @@ BOOL WINAPI SystemParametersInfoW( UINT uiAction, UINT uiParam,
 
     case SPI_SETUIEFFECTS:
         /* FIXME: this probably should mask other UI effect values when unset */
-        ret = set_user_pref_param( 3, 0x80, (BOOL)pvParam, fWinIni );
+        ret = set_user_pref_param( 3, 0x80, PtrToUlong(pvParam), fWinIni );
         break;
 
     WINE_SPI_FIXME(SPI_GETFOREGROUNDLOCKTIMEOUT);/* 0x2000  _WIN32_WINNT >= 0x500 || _WIN32_WINDOW > 0x400 */
@@ -2904,11 +2904,11 @@ DWORD WINAPI SetSysColorsTemp( const COLORREF *pPens, const HBRUSH *pBrushes, DW
             SysColorBrushes[i] = pBrushes[i];
         }
 
-        return (DWORD)pOldCol;
+        return (DWORD)pOldCol; /* FIXME: pointer truncation */
     }
     if (!pPens && !pBrushes) /* "restore" call */
     {
-        LPVOID pOldCol = (LPVOID)n;
+        LPVOID pOldCol = (LPVOID)n; /* FIXME: not 64-bit safe */
         LPVOID p = pOldCol;
         DWORD nCount = *(DWORD *)p;
         p = (char*)p + sizeof(DWORD);
diff --git a/dlls/user32/uitools.c b/dlls/user32/uitools.c
index 9e5ca9f..5d129c9 100644
--- a/dlls/user32/uitools.c
+++ b/dlls/user32/uitools.c
@@ -1428,7 +1428,7 @@ INT WINAPI FillRect( HDC hdc, const RECT *rect, HBRUSH hbrush )
 {
     HBRUSH prevBrush;
 
-    if (hbrush <= (HBRUSH) (COLOR_MAX + 1)) hbrush = GetSysColorBrush( (INT) hbrush - 1 );
+    if (hbrush <= (HBRUSH) (COLOR_MAX + 1)) hbrush = GetSysColorBrush( PtrToUlong(hbrush) - 1 );
 
     if (!(prevBrush = SelectObject( hdc, hbrush ))) return 0;
     PatBlt( hdc, rect->left, rect->top,
diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h
index 99915cc..d6eac17 100644
--- a/dlls/user32/user_private.h
+++ b/dlls/user32/user_private.h
@@ -35,7 +35,7 @@ extern WORD USER_HeapSel;
 
 static inline HLOCAL16 LOCAL_Alloc( HANDLE16 ds, UINT16 flags, WORD size )
 {
-    STACK16FRAME* stack16 = MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved);
+    STACK16FRAME* stack16 = MapSL(PtrToUlong(NtCurrentTeb()->WOW32Reserved));
     HANDLE16 oldDS = stack16->ds;
     HLOCAL16 ret;
 
@@ -47,7 +47,7 @@ static inline HLOCAL16 LOCAL_Alloc( HANDLE16 ds, UINT16 flags, WORD size )
 
 static inline  HLOCAL16 LOCAL_ReAlloc( HANDLE16 ds, HLOCAL16 handle, WORD size, UINT16 flags )
 {
-    STACK16FRAME* stack16 = MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved);
+    STACK16FRAME* stack16 = MapSL(PtrToUlong(NtCurrentTeb()->WOW32Reserved));
     HANDLE16 oldDS = stack16->ds;
     HLOCAL16 ret;
 
@@ -59,7 +59,7 @@ static inline  HLOCAL16 LOCAL_ReAlloc( HANDLE16 ds, HLOCAL16 handle, WORD size,
 
 static inline HLOCAL16 LOCAL_Free( HANDLE16 ds, HLOCAL16 handle )
 {
-    STACK16FRAME* stack16 = MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved);
+    STACK16FRAME* stack16 = MapSL(PtrToUlong(NtCurrentTeb()->WOW32Reserved));
     HANDLE16 oldDS = stack16->ds;
     HLOCAL16 ret;
 
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index 35144bd..d9b3a2e 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -678,7 +678,7 @@ static void WIN_FixCoordinates( CREATESTRUCTA *cs, INT *sw)
         UINT id = 0;
 
         MDI_CalcDefaultChildPos(cs->hwndParent, -1, pos, 0, &id);
-        if (!(cs->style & WS_POPUP)) cs->hMenu = (HMENU)id;
+        if (!(cs->style & WS_POPUP)) cs->hMenu = ULongToHandle(id);
 
         TRACE("MDI child id %04x\n", id);
     }
@@ -2125,7 +2125,7 @@ LONG WINAPI SetWindowLong16( HWND16 hwnd, INT16 offset, LONG newval )
     if (is_winproc)
     {
         WNDPROC new_proc = WINPROC_AllocProc16( (WNDPROC16)newval );
-        WNDPROC old_proc = (WNDPROC)SetWindowLongA( WIN_Handle32(hwnd), offset, (LONG_PTR)new_proc );
+        WNDPROC old_proc = (WNDPROC)SetWindowLongPtrA( WIN_Handle32(hwnd), offset, (LONG_PTR)new_proc );
         return (LONG)WINPROC_GetProc16( (WNDPROC)old_proc, FALSE );
     }
     else return SetWindowLongA( WIN_Handle32(hwnd), offset, newval );
diff --git a/dlls/user32/winproc.c b/dlls/user32/winproc.c
index 302cf3d..59d432d 100644
--- a/dlls/user32/winproc.c
+++ b/dlls/user32/winproc.c
@@ -530,7 +530,7 @@ static LRESULT call_window_proc16( HWND16 hwnd, UINT16 msg, WPARAM16 wParam, LPA
         if (size)
         {
             memcpy( &args.u, MapSL(lParam), size );
-            lParam = (SEGPTR)NtCurrentTeb()->WOW32Reserved - size;
+            lParam = PtrToUlong(NtCurrentTeb()->WOW32Reserved) - size;
         }
     }
 
@@ -711,7 +711,7 @@ static inline BOOL WINPROC_TestLBForStr( HWND hwnd, UINT msg )
 }
 
 
-static UINT convert_handle_16_to_32(HANDLE16 src, unsigned int flags)
+static UINT_PTR convert_handle_16_to_32(HANDLE16 src, unsigned int flags)
 {
     HANDLE      dst;
     UINT        sz = GlobalSize16(src);
@@ -725,10 +725,10 @@ static UINT convert_handle_16_to_32(HANDLE16 src, unsigned int flags)
     GlobalUnlock16(src);
     GlobalUnlock(dst);
 
-    return (UINT)dst;
+    return (UINT_PTR)dst;
 }
 
-static HANDLE16 convert_handle_32_to_16(UINT src, unsigned int flags)
+static HANDLE16 convert_handle_32_to_16(UINT_PTR src, unsigned int flags)
 {
     HANDLE16    dst;
     UINT        sz = GlobalSize((HANDLE)src);
@@ -1538,7 +1538,7 @@ LRESULT WINPROC_CallProc16To32A( winproc_callback_t callback, HWND16 hwnd, UINT1
     case WM_DDE_POKE:
         {
             HANDLE16 lo16 = LOWORD(lParam);
-            UINT lo32 = 0;
+            UINT_PTR lo32 = 0;
             if (lo16 && !(lo32 = convert_handle_16_to_32(lo16, GMEM_DDESHARE))) break;
             lParam = PackDDElParam( msg, lo32, HIWORD(lParam) );
             ret = callback( hwnd32, msg, (WPARAM)WIN_Handle32(wParam), lParam, result, arg );
@@ -1546,8 +1546,8 @@ LRESULT WINPROC_CallProc16To32A( winproc_callback_t callback, HWND16 hwnd, UINT1
         break; /* FIXME don't know how to free allocated memory (handle)  !! */
     case WM_DDE_ACK:
         {
-            UINT lo = LOWORD(lParam);
-            UINT hi = HIWORD(lParam);
+            UINT_PTR lo = LOWORD(lParam);
+            UINT_PTR hi = HIWORD(lParam);
             int flag = 0;
             char buf[2];
 
@@ -1565,7 +1565,7 @@ LRESULT WINPROC_CallProc16To32A( winproc_callback_t callback, HWND16 hwnd, UINT1
             case 1:
                 break; /* atom, nothing to do */
             case 3:
-                MESSAGE("DDE_ACK: %x both atom and handle... choosing handle\n", hi);
+                MESSAGE("DDE_ACK: %lx both atom and handle... choosing handle\n", hi);
                 /* fall thru */
             case 2:
                 hi = convert_handle_16_to_32(hi, GMEM_DDESHARE);
-- 
1.5.1.6






More information about the wine-patches mailing list