PATCH: fix handle conversions in wnd16.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!

License: LGPL, X11
Changelog:
	Michael Stefaniuc <mstefani@redhat.com>
	- Fix handle conversions in wnd16.c

bye
	michael
-- 
Michael Stefaniuc               Tel.: +49-711-96437-199
System Administration           Fax.: +49-711-96437-111
Red Hat GmbH                    Email: mstefani@redhat.com
Hauptstaetterstr. 58            http://www.redhat.de/
D-70178 Stuttgart
Index: dlls/user/wnd16.c
===================================================================
RCS file: /home/wine/wine/dlls/user/wnd16.c,v
retrieving revision 1.9
diff -u -r1.9 wnd16.c
--- dlls/user/wnd16.c	4 Sep 2002 19:37:01 -0000	1.9
+++ dlls/user/wnd16.c	8 Oct 2002 21:42:39 -0000
@@ -24,6 +24,22 @@
 #include "task.h"
 #include "stackframe.h"
 
+/* handle --> handle16 conversions */
+#define HANDLE_16(h32)		(LOWORD(h32))
+#define HDC_16(h32)		(LOWORD(h32))
+#define HDWP_16(h32)		(LOWORD(h32))
+#define HMENU_16(h32)		(LOWORD(h32))
+
+/* handle16 --> handle conversions */
+#define HBITMAP_32(h16)		((HBITMAP)(ULONG_PTR)(h16))
+#define HDC_32(h16)		((HDC)(ULONG_PTR)(h16))
+#define HDWP_32(h16)		((HDWP)(ULONG_PTR)(h16))
+#define HFONT_32(h16)		((HFONT)(ULONG_PTR)(h16))
+#define HICON_32(h16)		((HICON)(ULONG_PTR)(h16))
+#define HINSTANCE_32(h16)	((HINSTANCE)(ULONG_PTR)(h16))
+#define HMENU_32(h16)		((HMENU)(ULONG_PTR)(h16))
+#define HRGN_32(h16)		((HRGN)(ULONG_PTR)(h16))
+
 static HWND16 hwndSysModal;
 
 /* ### start build ### */
@@ -110,7 +126,7 @@
  */
 HANDLE16 WINAPI RemoveProp16( HWND16 hwnd, LPCSTR str )
 {
-    return (HANDLE16)RemovePropA( WIN_Handle32(hwnd), str );
+    return HANDLE_16(RemovePropA( WIN_Handle32(hwnd), str ));
 }
 
 
@@ -119,7 +135,7 @@
  */
 HANDLE16 WINAPI GetProp16( HWND16 hwnd, LPCSTR str )
 {
-    return (HANDLE16)GetPropA( WIN_Handle32(hwnd), str );
+    return HANDLE_16(GetPropA( WIN_Handle32(hwnd), str ));
 }
 
 
@@ -330,7 +346,7 @@
 {
     CURRENT_STACK16->es = USER_HeapSel;
     /* don't use WIN_Handle32 here, we don't care about the full handle */
-    return IsWindow( (HWND)(ULONG_PTR)hwnd );
+    return IsWindow( WIN_Handle32(hwnd) );
 }
 
 
@@ -494,7 +510,7 @@
  */
 HDC16 WINAPI GetDC16( HWND16 hwnd )
 {
-    return (HDC16)GetDC( WIN_Handle32(hwnd) );
+    return HDC_16(GetDC( WIN_Handle32(hwnd) ));
 }
 
 
@@ -512,7 +528,7 @@
  */
 INT16 WINAPI ReleaseDC16( HWND16 hwnd, HDC16 hdc )
 {
-    return (INT16)ReleaseDC( WIN_Handle32(hwnd), hdc );
+    return (INT16)ReleaseDC( WIN_Handle32(hwnd), HDC_32(hdc) );
 }
 
 
@@ -679,7 +695,7 @@
  */
 HWND16 WINAPI WindowFromDC16( HDC16 hDC )
 {
-    return HWND_16( WindowFromDC( hDC ) );
+    return HWND_16( WindowFromDC( HDC_32(hDC) ) );
 }
 
 
@@ -814,7 +830,7 @@
  */
 HMENU16 WINAPI GetSystemMenu16( HWND16 hwnd, BOOL16 revert )
 {
-    return GetSystemMenu( WIN_Handle32(hwnd), revert );
+    return HMENU_16(GetSystemMenu( WIN_Handle32(hwnd), revert ));
 }
 
 
@@ -823,7 +839,7 @@
  */
 HMENU16 WINAPI GetMenu16( HWND16 hwnd )
 {
-    return GetMenu( WIN_Handle32(hwnd) );
+    return HMENU_16(GetMenu( WIN_Handle32(hwnd) ));
 }
 
 
@@ -832,7 +848,7 @@
  */
 BOOL16 WINAPI SetMenu16( HWND16 hwnd, HMENU16 hMenu )
 {
-    return SetMenu( WIN_Handle32(hwnd), hMenu );
+    return SetMenu( WIN_Handle32(hwnd), HMENU_32(hMenu) );
 }
 
 
@@ -850,7 +866,7 @@
  */
 BOOL16 WINAPI HiliteMenuItem16( HWND16 hwnd, HMENU16 hMenu, UINT16 id, UINT16 wHilite )
 {
-    return HiliteMenuItem( WIN_Handle32(hwnd), hMenu, id, wHilite );
+    return HiliteMenuItem( WIN_Handle32(hwnd), HMENU_32(hMenu), id, wHilite );
 }
 
 
@@ -859,7 +875,7 @@
  */
 void WINAPI CreateCaret16( HWND16 hwnd, HBITMAP16 bitmap, INT16 width, INT16 height )
 {
-    CreateCaret( WIN_Handle32(hwnd), bitmap, width, height );
+    CreateCaret( WIN_Handle32(hwnd), HBITMAP_32(bitmap), width, height );
 }
 
 
@@ -1063,7 +1079,7 @@
  */
 INT16 WINAPI GetUpdateRgn16( HWND16 hwnd, HRGN16 hrgn, BOOL16 erase )
 {
-    return GetUpdateRgn( WIN_Handle32(hwnd), hrgn, erase );
+    return GetUpdateRgn( WIN_Handle32(hwnd), HRGN_32(hrgn), erase );
 }
 
 
@@ -1072,7 +1088,7 @@
  */
 INT16 WINAPI ExcludeUpdateRgn16( HDC16 hdc, HWND16 hwnd )
 {
-    return ExcludeUpdateRgn( hdc, WIN_Handle32(hwnd) );
+    return ExcludeUpdateRgn( HDC_32(hdc), WIN_Handle32(hwnd) );
 }
 
 
@@ -1101,8 +1117,8 @@
                                 INT16 x, INT16 y, INT16 cx, INT16 cy,
                                 UINT16 flags )
 {
-    return DeferWindowPos( hdwp, WIN_Handle32(hwnd), full_insert_after_hwnd(hwndAfter),
-                           x, y, cx, cy, flags );
+    return HDWP_16(DeferWindowPos( HDWP_32(hdwp), WIN_Handle32(hwnd),
+		   full_insert_after_hwnd(hwndAfter), x, y, cx, cy, flags ));
 }
 
 
@@ -1111,7 +1127,7 @@
  */
 BOOL16 WINAPI EndDeferWindowPos16( HDWP16 hdwp )
 {
-    return EndDeferWindowPos( hdwp );
+    return EndDeferWindowPos(HDWP_32(hdwp));
 }
 
 
@@ -1177,7 +1193,7 @@
  */
 BOOL16 WINAPI SetSystemMenu16( HWND16 hwnd, HMENU16 hMenu )
 {
-    return SetSystemMenu( WIN_Handle32(hwnd), hMenu );
+    return SetSystemMenu( WIN_Handle32(hwnd), HMENU_32(hMenu) );
 }
 
 
@@ -1209,9 +1225,9 @@
     {
         RECT r;
         CONV_RECT16TO32( rectUpdate, &r );
-        return RedrawWindow( WIN_Handle32(hwnd), &r, hrgnUpdate, flags );
+        return RedrawWindow(WIN_Handle32(hwnd), &r, HRGN_32(hrgnUpdate), flags);
     }
-    return RedrawWindow( WIN_Handle32(hwnd), NULL, hrgnUpdate, flags );
+    return RedrawWindow(WIN_Handle32(hwnd), NULL, HRGN_32(hrgnUpdate), flags);
 }
 
 
@@ -1238,7 +1254,7 @@
     if (rect) CONV_RECT16TO32( rect, &rect32 );
     if (clipRect) CONV_RECT16TO32( clipRect, &clipRect32 );
     ret = ScrollWindowEx( WIN_Handle32(hwnd), dx, dy, rect ? &rect32 : NULL,
-                          clipRect ? &clipRect32 : NULL, hrgnUpdate,
+                          clipRect ? &clipRect32 : NULL, HRGN_32(hrgnUpdate),
                           (rcUpdate) ? &rcUpdate32 : NULL, flags );
     if (rcUpdate) CONV_RECT32TO16( &rcUpdate32, rcUpdate );
     return ret;
@@ -1253,7 +1269,7 @@
     RECT rect;
     RECT16 rc16;
     GetClientRect( WIN_Handle32(hwnd), &rect );
-    DPtoLP( hdc, (LPPOINT)&rect, 2 );
+    DPtoLP( HDC_32(hdc), (LPPOINT)&rect, 2 );
     CONV_RECT32TO16( &rect, &rc16 );
     PaintRect16( hwndParent, hwnd, hdc, hbrush, &rc16 );
 }
@@ -1300,7 +1316,7 @@
  */
 HDC16 WINAPI GetDCEx16( HWND16 hwnd, HRGN16 hrgnClip, DWORD flags )
 {
-    return (HDC16)GetDCEx( WIN_Handle32(hwnd), hrgnClip, flags );
+    return HDC_16(GetDCEx(WIN_Handle32(hwnd), HRGN_32(hrgnClip), flags));
 }
 
 
@@ -1378,7 +1394,7 @@
 {
     RECT r;
     if (lpRect) CONV_RECT16TO32( lpRect, &r );
-    return TrackPopupMenu( hMenu, wFlags, x, y, nReserved,
+    return TrackPopupMenu( HMENU_32(hMenu), wFlags, x, y, nReserved,
                            WIN_Handle32(hwnd), lpRect ? &r : NULL );
 }
 
@@ -1549,8 +1565,9 @@
 
     if (rect) CONV_RECT16TO32(rect,&rect32);
 
-    return DrawCaptionTempA( WIN_Handle32(hwnd), hdc, rect ? &rect32 : NULL,
-                             hFont, hIcon, str, uFlags & 0x1f );
+    return DrawCaptionTempA( WIN_Handle32(hwnd), HDC_32(hdc),
+			     rect ? &rect32 : NULL, HFONT_32(hFont),
+			     HICON_32(hIcon), str, uFlags & 0x1f );
 }
 
 
@@ -1563,7 +1580,7 @@
 
     if (rect) CONV_RECT16TO32( rect, &rect32 );
 
-    return DrawCaption( WIN_Handle32(hwnd), hdc, rect ? &rect32 : NULL, flags );
+    return DrawCaption(WIN_Handle32(hwnd), HDC_32(hdc), rect ? &rect32 : NULL, flags);
 }
 
 
@@ -1576,7 +1593,7 @@
      RECT r32;
      BOOL res;
      if (!rect) return FALSE;
-     res = GetMenuItemRect( WIN_Handle32(hwnd), hMenu, uItem, &r32 );
+     res = GetMenuItemRect( WIN_Handle32(hwnd), HMENU_32(hMenu), uItem, &r32 );
      CONV_RECT32TO16( &r32, rect );
      return res;
 }
@@ -1587,7 +1604,7 @@
  */
 INT16 WINAPI SetWindowRgn16( HWND16 hwnd, HRGN16 hrgn, BOOL16 redraw )
 {
-    return SetWindowRgn( WIN_Handle32(hwnd), hrgn, redraw );
+    return SetWindowRgn( WIN_Handle32(hwnd), HRGN_32(hrgn), redraw );
 }
 
 
@@ -1600,7 +1617,7 @@
 
     msgbox32.cbSize             = msgbox->cbSize;
     msgbox32.hwndOwner          = WIN_Handle32( msgbox->hwndOwner );
-    msgbox32.hInstance          = msgbox->hInstance;
+    msgbox32.hInstance          = HINSTANCE_32(msgbox->hInstance);
     msgbox32.lpszText           = MapSL(msgbox->lpszText);
     msgbox32.lpszCaption        = MapSL(msgbox->lpszCaption);
     msgbox32.dwStyle            = msgbox->dwStyle;

Attachment: pgp00052.pgp
Description: PGP signature


[Index of Archives]     [Gimp for Windows]     [Red Hat]     [Samba]     [Yosemite Camping]     [Graphics Cards]     [Wine Home]

  Powered by Linux