Fixes http://bugs.winehq.com/show_bug.cgi?id=1148 License: LGPL ChangeLog Make gdi compilable with -DSTRICT Index: dlls/gdi/Makefile.in =================================================================== RCS file: /home/wine/wine/dlls/gdi/Makefile.in,v retrieving revision 1.39 diff -u -r1.39 Makefile.in --- dlls/gdi/Makefile.in 18 Nov 2002 23:16:09 -0000 1.39 +++ dlls/gdi/Makefile.in 22 Nov 2002 17:21:19 -0000 @@ -1,4 +1,4 @@ -EXTRADEFS = -D_GDI32_ -DWINE_NO_STRICT +EXTRADEFS = -D_GDI32_ TOPSRCDIR = @top_srcdir@ TOPOBJDIR = ../.. SRCDIR = @srcdir@ Index: dlls/gdi/driver.c =================================================================== RCS file: /home/wine/wine/dlls/gdi/driver.c,v retrieving revision 1.18 diff -u -r1.18 driver.c --- dlls/gdi/driver.c 12 Sep 2002 22:07:02 -0000 1.18 +++ dlls/gdi/driver.c 22 Nov 2002 17:21:19 -0000 @@ -365,7 +365,7 @@ INT WINAPI GDI_CallDevInstall16( FARPROC16 lpfnDevInstallProc, HWND hWnd, LPSTR lpModelName, LPSTR OldPort, LPSTR NewPort ) { - FIXME("(%p, %04x, %s, %s, %s)\n", lpfnDevInstallProc, hWnd, lpModelName, OldPort, NewPort ); + FIXME("(%p, %p, %s, %s, %s)\n", lpfnDevInstallProc, hWnd, lpModelName, OldPort, NewPort ); return -1; } @@ -389,7 +389,7 @@ INT WINAPI GDI_CallExtDeviceModePropSheet16( HWND hWnd, LPCSTR lpszDevice, LPCSTR lpszPort, LPVOID lpPropSheet ) { - FIXME("(%04x, %s, %s, %p)\n", hWnd, lpszDevice, lpszPort, lpPropSheet ); + FIXME("(%p, %s, %s, %p)\n", hWnd, lpszDevice, lpszPort, lpPropSheet ); return -1; } @@ -410,7 +410,7 @@ INT ret = -1; INT (*pExtDeviceMode)(LPSTR,HWND,LPDEVMODEA,LPSTR,LPSTR,LPDEVMODEA,LPSTR,DWORD); - TRACE("(%04x, %p, %s, %s, %p, %s, %ld)\n", + TRACE("(%p, %p, %s, %s, %p, %s, %ld)\n", hwnd, lpdmOutput, lpszDevice, lpszPort, lpdmInput, lpszProfile, fwMode ); if(!DRIVER_GetDriverName( lpszDevice, buf, sizeof(buf) )) return -1; @@ -438,7 +438,7 @@ INT WINAPI GDI_CallAdvancedSetupDialog16( HWND hwnd, LPSTR lpszDevice, LPDEVMODEA devin, LPDEVMODEA devout ) { - TRACE("(%04x, %s, %p, %p)\n", hwnd, lpszDevice, devin, devout ); + TRACE("(%p, %s, %p, %p)\n", hwnd, lpszDevice, devin, devout ); return -1; } Index: dlls/gdi/freetype.c =================================================================== RCS file: /home/wine/wine/dlls/gdi/freetype.c,v retrieving revision 1.27 diff -u -r1.27 freetype.c --- dlls/gdi/freetype.c 13 Nov 2002 23:54:50 -0000 1.27 +++ dlls/gdi/freetype.c 22 Nov 2002 17:21:21 -0000 @@ -950,7 +950,7 @@ /* check the cache first */ for(ret = GdiFontList; ret; ret = ret->next) { if(ret->hfont == hfont && !memcmp(&ret->xform, &dc->xformWorld2Vport, offsetof(XFORM, eDx))) { - TRACE("returning cached gdiFont(%p) for hFont %x\n", ret, hfont); + TRACE("returning cached gdiFont(%p) for hFont %p\n", ret, hfont); return ret; } } @@ -1104,7 +1104,7 @@ ret->orientation = lf.lfOrientation; ret->name = strdupW(family->FamilyName); - TRACE("caching: gdiFont=%p hfont=%x\n", ret, hfont); + TRACE("caching: gdiFont=%p hfont=%p\n", ret, hfont); ret->hfont = hfont; ret->next = GdiFontList; GdiFontList = ret; @@ -1120,7 +1120,7 @@ for(gdiFont = GdiFontList; gdiFont; gdiFont = gdiFont->next) { LOGFONTW lf; GetObjectW( gdiFont->hfont, sizeof(lf), &lf ); - TRACE("gdiFont=%p hfont=%x (%s)\n", + TRACE("gdiFont=%p hfont=%p (%s)\n", gdiFont, gdiFont->hfont, debugstr_w(lf.lfFaceName)); } } @@ -1137,7 +1137,7 @@ GdiFont gdiPrev = NULL; BOOL ret = FALSE; - TRACE("destroying hfont=%x\n", handle); + TRACE("destroying hfont=%p\n", handle); if(TRACE_ON(font)) DumpGdiFontList(); Index: dlls/gdi/printdrv.c =================================================================== RCS file: /home/wine/wine/dlls/gdi/printdrv.c,v retrieving revision 1.28 diff -u -r1.28 printdrv.c --- dlls/gdi/printdrv.c 24 Sep 2002 18:29:39 -0000 1.28 +++ dlls/gdi/printdrv.c 22 Nov 2002 17:21:21 -0000 @@ -50,6 +50,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(print); +#define HDC_16(h32) (LOWORD(h32)) +#define HDC_32(h16) ((HDC)(ULONG_PTR)(h16)) + static char PrinterModel[] = "Printer Model"; static char DefaultDevMode[] = "Default DevMode"; static char PrinterDriverData[] = "PrinterDriverData"; @@ -159,7 +162,7 @@ if (dc->funcs->pEndPage) ret = dc->funcs->pEndPage( dc->physDev ); GDI_ReleaseObj( hdc ); - if (!QueryAbort16( hdc, 0 )) + if (!QueryAbort16( HDC_16( hdc ), 0 )) { EndDoc( hdc ); ret = 0; @@ -194,7 +197,7 @@ BOOL16 WINAPI QueryAbort16(HDC16 hdc, INT16 reserved) { BOOL ret = TRUE; - DC *dc = DC_GetDCPtr( hdc ); + DC *dc = DC_GetDCPtr( HDC_32( hdc )); ABORTPROC abproc; if(!dc) { @@ -203,10 +206,10 @@ } abproc = dc->pAbortProc; - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); if (abproc) - ret = abproc(hdc, 0); + ret = abproc(HDC_32( hdc ), 0); return ret; } @@ -225,7 +228,9 @@ if (!dc) return FALSE; proc16 = dc->pAbortProc16; GDI_ReleaseObj( hdc ); - if (proc16) return PRTDRV_CallTo16_word_ww( (FARPROC16)proc16, hdc, code ); + if (proc16) + return PRTDRV_CallTo16_word_ww( (FARPROC16)proc16, + HDC_16( hdc ), code ); return TRUE; } @@ -235,12 +240,12 @@ */ INT16 WINAPI SetAbortProc16(HDC16 hdc, ABORTPROC16 abrtprc) { - DC *dc = DC_GetDCPtr( hdc ); + DC *dc = DC_GetDCPtr( HDC_32( hdc )); if (!dc) return FALSE; dc->pAbortProc16 = abrtprc; - GDI_ReleaseObj( hdc ); - return SetAbortProc( hdc, call_abort_proc16 ); + GDI_ReleaseObj( HDC_32( hdc )); + return SetAbortProc( HDC_32( hdc ), call_abort_proc16 ); } /********************************************************************** Index: dlls/gdi/enhmfdrv/init.c =================================================================== RCS file: /home/wine/wine/dlls/gdi/enhmfdrv/init.c,v retrieving revision 1.12 diff -u -r1.12 init.c --- dlls/gdi/enhmfdrv/init.c 17 Aug 2002 01:36:55 -0000 1.12 +++ dlls/gdi/enhmfdrv/init.c 22 Nov 2002 17:21:21 -0000 @@ -372,7 +372,7 @@ physDev->hFile = hFile; } - TRACE("returning %04x\n", dc->hSelf); + TRACE("returning %p\n", dc->hSelf); ret = dc->hSelf; GDI_ReleaseObj( dc->hSelf ); @@ -393,7 +393,7 @@ EMREOF emr; HANDLE hMapping = 0; - TRACE("(%04x)\n", hdc ); + TRACE("(%p)\n", hdc ); if (!(dc = (DC *) GDI_GetObjPtr( hdc, ENHMETAFILE_DC_MAGIC ))) return 0; physDev = (EMFDRV_PDEVICE *)dc->physDev; @@ -436,7 +436,7 @@ HeapFree( GetProcessHeap(), 0, physDev->emh ); hMapping = CreateFileMappingA(physDev->hFile, NULL, PAGE_READONLY, 0, 0, NULL); - TRACE("hMapping = %08x\n", hMapping ); + TRACE("hMapping = %p\n", hMapping ); physDev->emh = MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0); TRACE("view = %p\n", physDev->emh ); CloseHandle( hMapping ); Index: dlls/gdi/mfdrv/init.c =================================================================== RCS file: /home/wine/wine/dlls/gdi/mfdrv/init.c,v retrieving revision 1.14 diff -u -r1.14 init.c --- dlls/gdi/mfdrv/init.c 21 Nov 2002 21:50:05 -0000 1.14 +++ dlls/gdi/mfdrv/init.c 22 Nov 2002 17:21:22 -0000 @@ -246,7 +246,7 @@ else /* memory based metafile */ physDev->mh->mtType = METAFILE_MEMORY; - TRACE("returning %04x\n", dc->hSelf); + TRACE("returning %p\n", dc->hSelf); ret = dc->hSelf; GDI_ReleaseObj( dc->hSelf ); return ret; @@ -281,7 +281,7 @@ DC *dc; METAFILEDRV_PDEVICE *physDev; - TRACE("(%04x)\n", hdc ); + TRACE("(%p)\n", hdc ); if (!(dc = (DC *) GDI_GetObjPtr( hdc, METAFILE_DC_MAGIC ))) return 0; physDev = (METAFILEDRV_PDEVICE *)dc->physDev; Index: dlls/gdi/win16drv/font.c =================================================================== RCS file: /home/wine/wine/dlls/gdi/win16drv/font.c,v retrieving revision 1.7 diff -u -r1.7 font.c --- dlls/gdi/win16drv/font.c 21 Nov 2002 21:50:04 -0000 1.7 +++ dlls/gdi/win16drv/font.c 22 Nov 2002 17:21:22 -0000 @@ -95,7 +95,7 @@ DWORD dwRet, len; char *str; - TRACE("%04x %s %d %p\n", physDev->hdc, debugstr_wn(wstr, count), count, size); + TRACE("%p %s %d %p\n", physDev->hdc, debugstr_wn(wstr, count), count, size); len = WideCharToMultiByte( CP_ACP, 0, wstr, count, NULL, 0, NULL, NULL ); @@ -121,7 +121,7 @@ { WIN16DRV_PDEVICE *physDev = (WIN16DRV_PDEVICE *)dev; - TRACE("%04x \n", physDev->hdc); + TRACE("%p \n", physDev->hdc); *metrics = physDev->tm; Index: dlls/gdi/win16drv/init.c =================================================================== RCS file: /home/wine/wine/dlls/gdi/win16drv/init.c,v retrieving revision 1.11 diff -u -r1.11 init.c --- dlls/gdi/win16drv/init.c 28 Aug 2002 23:42:34 -0000 1.11 +++ dlls/gdi/win16drv/init.c 22 Nov 2002 17:21:22 -0000 @@ -343,7 +343,7 @@ WIN16DRV_PDEVICE *physDev = (WIN16DRV_PDEVICE *)dev; if (cap >= PHYSICALWIDTH || (cap % 2)) { - FIXME("(%04x): unsupported capability %d, will return 0\n", physDev->hdc, cap ); + FIXME("(%p): unsupported capability %d, will return 0\n", physDev->hdc, cap ); return 0; } return *((WORD *)&physDev->DevCaps + (cap / 2)); Index: dlls/gdi/win16drv/text.c =================================================================== RCS file: /home/wine/wine/dlls/gdi/win16drv/text.c,v retrieving revision 1.4 diff -u -r1.4 text.c --- dlls/gdi/win16drv/text.c 25 Jun 2002 23:29:51 -0000 1.4 +++ dlls/gdi/win16drv/text.c 22 Nov 2002 17:21:22 -0000 @@ -51,7 +51,7 @@ if (count == 0) return FALSE; - TRACE("%04x %d %d %x %p %s %p\n", + TRACE("%p %d %d %x %p %s %p\n", dc->hSelf, x, y, flags, lprect, debugstr_wn(wstr, count), lpDx); len = WideCharToMultiByte( CP_ACP, 0, wstr, count, NULL, 0, NULL, NULL ); Index: objects/bitmap.c =================================================================== RCS file: /home/wine/wine/objects/bitmap.c,v retrieving revision 1.54 diff -u -r1.54 bitmap.c --- objects/bitmap.c 21 Nov 2002 21:50:04 -0000 1.54 +++ objects/bitmap.c 22 Nov 2002 17:21:22 -0000 @@ -126,7 +126,7 @@ (HGDIOBJ *)&hbitmap, &bitmap_funcs ))) return 0; - TRACE("%dx%d, %d colors returning %08x\n", width, height, + TRACE("%dx%d, %d colors returning %p\n", width, height, 1 << (planes*bpp), hbitmap); bmp->size.cx = 0; @@ -169,7 +169,7 @@ HBITMAP hbmpRet = 0; DC *dc; - TRACE("(%04x,%d,%d) = \n", hdc, width, height ); + TRACE("(%p,%d,%d) = \n", hdc, width, height ); if (!(dc = DC_GetDCPtr( hdc ))) return 0; if ((width >= 0x10000) || (height >= 0x10000)) { FIXME("got bad width %d or height %d, please look for reason\n", @@ -187,7 +187,7 @@ hbmpRet = 0; } } - TRACE("\t\t%04x\n", hbmpRet); + TRACE("\t\t%p\n", hbmpRet); GDI_ReleaseObj(hdc); return hbmpRet; } @@ -249,7 +249,7 @@ } - TRACE("(%08x, %ld, %p) %dx%d %d colors fetched height: %ld\n", + TRACE("(%p, %ld, %p) %dx%d %d colors fetched height: %ld\n", hbitmap, count, bits, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight, 1 << bmp->bitmap.bmBitsPixel, height ); @@ -308,7 +308,7 @@ if (height > bmp->bitmap.bmHeight) height = bmp->bitmap.bmHeight; count = height * bmp->bitmap.bmWidthBytes; - TRACE("(%08x, %ld, %p) %dx%d %d colors fetched height: %ld\n", + TRACE("(%p, %ld, %p) %dx%d %d colors fetched height: %ld\n", hbitmap, count, bits, bmp->bitmap.bmWidth, bmp->bitmap.bmHeight, 1 << bmp->bitmap.bmBitsPixel, height ); @@ -390,7 +390,7 @@ } else if (bitmap->funcs != dc->funcs) { - FIXME( "Trying to select bitmap %x in different DC type\n", hbitmap ); + FIXME( "Trying to select bitmap %p in different DC type\n", hbitmap ); ret = FALSE; } GDI_ReleaseObj( hbitmap ); Index: objects/brush.c =================================================================== RCS file: /home/wine/wine/objects/brush.c,v retrieving revision 1.33 diff -u -r1.33 brush.c --- objects/brush.c 21 Nov 2002 21:50:04 -0000 1.33 +++ objects/brush.c 22 Nov 2002 17:21:22 -0000 @@ -96,6 +96,7 @@ if (!(ptr = GDI_AllocObject( sizeof(BRUSHOBJ), BRUSH_MAGIC, (HGDIOBJ *)&hbrush, &brush_funcs ))) return 0; + ptr->logbrush.lbStyle = brush->lbStyle; ptr->logbrush.lbColor = brush->lbColor; ptr->logbrush.lbHatch = brush->lbHatch; @@ -137,7 +138,7 @@ } GDI_ReleaseObj( hbrush ); - TRACE("%08x\n", hbrush); + TRACE("%p\n", hbrush); return hbrush; error: @@ -169,7 +170,7 @@ HBRUSH WINAPI CreatePatternBrush( HBITMAP hbitmap ) { LOGBRUSH logbrush = { BS_PATTERN, 0, 0 }; - TRACE("%04x\n", hbitmap ); + TRACE("%p\n", hbitmap ); logbrush.lbHatch = (ULONG_PTR)hbitmap; return CreateBrushIndirect( &logbrush ); @@ -197,7 +198,7 @@ { LOGBRUSH logbrush; - TRACE("%04x\n", hbitmap ); + TRACE("%p\n", hbitmap ); logbrush.lbStyle = BS_DIBPATTERN; logbrush.lbColor = coloruse; @@ -356,7 +357,6 @@ memcpy( buffer, &brush->logbrush, count ); return count; } - /*********************************************************************** * SetSolidBrush (GDI.604) Index: objects/clipping.c =================================================================== RCS file: /home/wine/wine/objects/clipping.c,v retrieving revision 1.42 diff -u -r1.42 clipping.c --- objects/clipping.c 21 Nov 2002 23:45:47 -0000 1.42 +++ objects/clipping.c 22 Nov 2002 17:21:22 -0000 @@ -28,6 +28,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(clipping); +#define HANDLE_16(h32) (LOWORD(h32)) +#define HANDLE_32(h16) ((HANDLE)(ULONG_PTR)(h16)) /*********************************************************************** * CLIPPING_UpdateGCRegion @@ -73,7 +75,7 @@ DC * dc = DC_GetDCUpdate( hdc ); if (!dc) return ERROR; - TRACE("%04x %04x %d\n", hdc, hrgn, fnMode ); + TRACE("%p %p %d\n", hdc, hrgn, fnMode ); if (dc->funcs->pExtSelectClipRgn) { @@ -126,7 +128,7 @@ DC * dc; if (!hrgn) return ERROR; - if (!(dc = DC_GetDCPtr( hdc ))) return ERROR; + if (!(dc = DC_GetDCPtr( HDC_32( hdc )))) return ERROR; TRACE("%04x %04x\n", hdc, hrgn ); @@ -134,7 +136,7 @@ retval = CombineRgn( dc->hVisRgn, HRGN_32(hrgn), 0, RGN_COPY ); CLIPPING_UpdateGCRegion( dc ); - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return retval; } @@ -148,7 +150,7 @@ DC *dc = DC_GetDCUpdate( hdc ); if (!dc) return ERROR; - TRACE("%04x %d,%d\n", hdc, x, y ); + TRACE("%p %d,%d\n", hdc, x, y ); if(dc->funcs->pOffsetClipRgn) ret = dc->funcs->pOffsetClipRgn( dc->physDev, x, y ); @@ -167,12 +169,12 @@ INT16 WINAPI OffsetVisRgn16( HDC16 hdc, INT16 x, INT16 y ) { INT16 retval; - DC * dc = DC_GetDCUpdate( hdc ); + DC * dc = DC_GetDCUpdate( HDC_32( hdc )); if (!dc) return ERROR; TRACE("%04x %d,%d\n", hdc, x, y ); retval = OffsetRgn( dc->hVisRgn, x, y ); CLIPPING_UpdateGCRegion( dc ); - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return retval; } @@ -188,7 +190,7 @@ DC *dc = DC_GetDCUpdate( hdc ); if (!dc) return ERROR; - TRACE("%04x %dx%d,%dx%d\n", hdc, left, top, right, bottom ); + TRACE("%p %dx%d,%dx%d\n", hdc, left, top, right, bottom ); if(dc->funcs->pExcludeClipRect) ret = dc->funcs->pExcludeClipRect( dc->physDev, left, top, right, bottom ); @@ -228,7 +230,7 @@ DC *dc = DC_GetDCUpdate( hdc ); if (!dc) return ERROR; - TRACE("%04x %d,%d - %d,%d\n", hdc, left, top, right, bottom ); + TRACE("%p %d,%d - %d,%d\n", hdc, left, top, right, bottom ); if(dc->funcs->pIntersectClipRect) ret = dc->funcs->pIntersectClipRect( dc->physDev, left, top, right, bottom ); @@ -275,15 +277,15 @@ HRGN tempRgn; INT16 ret; POINT pt[2]; - DC * dc = DC_GetDCUpdate( hdc ); + DC * dc = DC_GetDCUpdate( HDC_32( hdc )); + if (!dc) return ERROR; pt[0].x = left; pt[0].y = top; pt[1].x = right; pt[1].y = bottom; - - LPtoDP( hdc, pt, 2 ); + LPtoDP( HDC_32( hdc ), pt, 2 ); TRACE("%04x %ld,%ld - %ld,%ld\n", hdc, pt[0].x, pt[0].y, pt[1].x, pt[1].y); @@ -294,7 +296,7 @@ DeleteObject( tempRgn ); } if (ret != ERROR) CLIPPING_UpdateGCRegion( dc ); - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return ret; } @@ -308,7 +310,8 @@ HRGN tempRgn; INT16 ret; POINT pt[2]; - DC * dc = DC_GetDCUpdate( hdc ); + DC * dc = DC_GetDCUpdate( HDC_32( hdc )); + if (!dc) return ERROR; pt[0].x = left; @@ -316,7 +319,7 @@ pt[1].x = right; pt[1].y = bottom; - LPtoDP( hdc, pt, 2 ); + LPtoDP( HDC_32( hdc ), pt, 2 ); TRACE("%04x %ld,%ld - %ld,%ld\n", hdc, pt[0].x, pt[0].y, pt[1].x, pt[1].y); @@ -328,7 +331,7 @@ DeleteObject( tempRgn ); } if (ret != ERROR) CLIPPING_UpdateGCRegion( dc ); - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return ret; } @@ -341,7 +344,7 @@ BOOL ret = FALSE; DC *dc = DC_GetDCUpdate( hdc ); - TRACE("%04x %d,%d\n", hdc, x, y ); + TRACE("%p %d,%d\n", hdc, x, y ); if (!dc) return FALSE; if (dc->hGCClipRgn) { @@ -365,7 +368,7 @@ BOOL ret = FALSE; DC *dc = DC_GetDCUpdate( hdc ); if (!dc) return FALSE; - TRACE("%04x %d,%dx%d,%d\n", + TRACE("%p %d,%dx%d,%d\n", hdc, rect->left, rect->top, rect->right, rect->bottom ); if (dc->hGCClipRgn) { @@ -429,20 +432,20 @@ { HRGN copy; GDIOBJHDR *obj, *copyObj; - DC *dc = DC_GetDCUpdate( hdc ); + DC *dc = DC_GetDCUpdate( HDC_32( hdc )); if (!dc) return 0; TRACE("%04x\n", hdc ); if (!(obj = GDI_GetObjPtr( dc->hVisRgn, REGION_MAGIC ))) { - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return 0; } if (!(copy = CreateRectRgn( 0, 0, 0, 0 ))) { GDI_ReleaseObj( dc->hVisRgn ); - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return 0; } CombineRgn( copy, dc->hVisRgn, 0, RGN_COPY ); @@ -450,15 +453,15 @@ { DeleteObject( copy ); GDI_ReleaseObj( dc->hVisRgn ); - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return 0; } copyObj->hNext = obj->hNext; - obj->hNext = copy; + obj->hNext = HANDLE_16( copy ); GDI_ReleaseObj( copy ); GDI_ReleaseObj( dc->hVisRgn ); - GDI_ReleaseObj( hdc ); - return copy; + GDI_ReleaseObj( HDC_32( hdc )); + return HANDLE_16( copy); } @@ -469,7 +472,7 @@ { HRGN saved; GDIOBJHDR *obj, *savedObj; - DC *dc = DC_GetDCPtr( hdc ); + DC *dc = DC_GetDCPtr( HDC_32( hdc )); INT16 ret = ERROR; if (!dc) return ERROR; @@ -477,7 +480,7 @@ TRACE("%04x\n", hdc ); if (!(obj = GDI_GetObjPtr( dc->hVisRgn, REGION_MAGIC ))) goto done; - saved = obj->hNext; + saved = HANDLE_32( obj->hNext ); if ((savedObj = GDI_GetObjPtr( saved, REGION_MAGIC ))) { @@ -490,6 +493,6 @@ } GDI_ReleaseObj( dc->hVisRgn ); done: - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return ret; } Index: objects/dc.c =================================================================== RCS file: /home/wine/wine/objects/dc.c,v retrieving revision 1.85 diff -u -r1.85 dc.c --- objects/dc.c 21 Nov 2002 03:56:29 -0000 1.85 +++ objects/dc.c 22 Nov 2002 17:21:23 -0000 @@ -33,6 +33,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(dc); +#define HDC_16(h32) (LOWORD(h32)) +#define HDC_32(h16) ((HDC)(ULONG_PTR)(h16)) +#define HGDIOBJ_32(h16) ((HGDIOBJ)(ULONG_PTR)(h16)) + /* ### start build ### */ extern WORD CALLBACK GDI_CallTo16_word_wwll(FARPROC16,WORD,WORD,LONG,LONG); /* ### stop build ### */ @@ -57,7 +61,10 @@ HDC hdc; DC *dc; - if (!(dc = GDI_AllocObject( sizeof(*dc), DC_MAGIC, &hdc, &dc_funcs ))) return NULL; + if (!(dc = GDI_AllocObject( sizeof(*dc), DC_MAGIC, + (HGDIOBJ *)&hdc, &dc_funcs ))) { + return NULL; + } dc->hSelf = hdc; dc->funcs = funcs; @@ -163,7 +170,7 @@ { DWORD data = dc->dwHookData; GDI_ReleaseObj( hdc ); - proc( hdc, DCHC_INVALIDVISRGN, data, 0 ); + proc( HDC_16( hdc ), DCHC_INVALIDVISRGN, data, 0 ); if (!(dc = DC_GetDCPtr( hdc ))) break; /* otherwise restart the loop in case it became dirty again in the meantime */ } @@ -190,7 +197,7 @@ */ void DC_InitDC( DC* dc ) { - RealizeDefaultPalette16( dc->hSelf ); + RealizeDefaultPalette16( HDC_16( dc->hSelf )); SetTextColor( dc->hSelf, dc->textColor ); SetBkColor( dc->hSelf, dc->backgroundColor ); SelectObject( dc->hSelf, dc->hPen ); @@ -274,13 +281,13 @@ DC * newdc, * dc; HGDIOBJ handle; - if (!(dc = DC_GetDCPtr( hdc ))) return 0; + if (!(dc = DC_GetDCPtr( HDC_32( hdc )))) return 0; if (!(newdc = GDI_AllocObject( sizeof(DC), DC_MAGIC, &handle, &dc_funcs ))) { - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return 0; } - TRACE("(%04x): returning %04x\n", hdc, handle ); + TRACE("(%04x): returning %p\n", hdc, handle ); newdc->flags = dc->flags | DC_SAVED; newdc->hPen = dc->hPen; @@ -350,8 +357,8 @@ newdc->gdiFont = 0; GDI_ReleaseObj( handle ); - GDI_ReleaseObj( hdc ); - return handle; + GDI_ReleaseObj( HDC_32( hdc )); + return HDC_16( handle ); } @@ -362,16 +369,16 @@ { DC *dc, *dcs; - if (!(dc = DC_GetDCUpdate( hdc ))) return; - if (!(dcs = DC_GetDCPtr( hdcs ))) + if (!(dc = DC_GetDCUpdate( HDC_32( hdc )))) return; + if (!(dcs = DC_GetDCPtr( HDC_32( hdcs )))) { - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return; } if (!dcs->flags & DC_SAVED) { - GDI_ReleaseObj( hdc ); - GDI_ReleaseObj( hdcs ); + GDI_ReleaseObj( HDC_32( hdc )); + GDI_ReleaseObj( HDC_32( hdcs )); return; } TRACE("%04x %04x\n", hdc, hdcs ); @@ -427,15 +434,15 @@ } CLIPPING_UpdateGCRegion( dc ); - SelectObject( hdc, dcs->hBitmap ); - SelectObject( hdc, dcs->hBrush ); - SelectObject( hdc, dcs->hFont ); - SelectObject( hdc, dcs->hPen ); - SetBkColor( hdc, dcs->backgroundColor); - SetTextColor( hdc, dcs->textColor); - GDISelectPalette( hdc, dcs->hPalette, FALSE ); - GDI_ReleaseObj( hdcs ); - GDI_ReleaseObj( hdc ); + SelectObject( HDC_32( hdc ), dcs->hBitmap ); + SelectObject( HDC_32( hdc ), dcs->hBrush ); + SelectObject( HDC_32( hdc ), dcs->hFont ); + SelectObject( HDC_32( hdc ), dcs->hPen ); + SetBkColor( HDC_32( hdc ), dcs->backgroundColor); + SetTextColor( HDC_32( hdc ), dcs->textColor); + GDISelectPalette( HDC_32( hdc ), dcs->hPalette, FALSE ); + GDI_ReleaseObj( HDC_32( hdcs )); + GDI_ReleaseObj( HDC_32( hdc )); } @@ -458,7 +465,7 @@ return ret; } - if (!(hdcs = GetDCState16( hdc ))) + if (!(hdcs = HDC_32( GetDCState16( HDC_16( hdc ))))) { GDI_ReleaseObj( hdc ); return 0; @@ -480,8 +487,8 @@ } dcs->header.hNext = dc->header.hNext; - dc->header.hNext = hdcs; - TRACE("(%04x): returning %d\n", hdc, dc->saveLevel+1 ); + dc->header.hNext = HDC_16( hdcs ); + TRACE("(%p): returning %d\n", hdc, dc->saveLevel+1 ); ret = ++dc->saveLevel; GDI_ReleaseObj( hdcs ); GDI_ReleaseObj( hdc ); @@ -497,7 +504,7 @@ DC * dc, * dcs; BOOL success; - TRACE("%04x %d\n", hdc, level ); + TRACE("%p %d\n", hdc, level ); dc = DC_GetDCUpdate( hdc ); if(!dc) return FALSE; if(dc->funcs->pRestoreDC) @@ -524,7 +531,7 @@ while (dc->saveLevel >= level) { HDC16 hdcs = dc->header.hNext; - if (!(dcs = DC_GetDCPtr( hdcs ))) + if (!(dcs = DC_GetDCPtr( HDC_32( hdcs )))) { GDI_ReleaseObj( hdc ); return FALSE; @@ -532,15 +539,15 @@ dc->header.hNext = dcs->header.hNext; if (--dc->saveLevel < level) { - SetDCState16( hdc, hdcs ); + SetDCState16( HDC_16( hdc ), hdcs ); if (!PATH_AssignGdiPath( &dc->path, &dcs->path )) /* FIXME: This might not be quite right, since we're * returning FALSE but still destroying the saved DC state */ success=FALSE; } - GDI_ReleaseObj( hdcs ); - GDI_ReleaseObj( hdc ); - DeleteDC( hdcs ); + GDI_ReleaseObj( HDC_32( hdcs )); + GDI_ReleaseObj( HDC_32( hdc )); + DeleteDC( HDC_32( hdcs )); if (!(dc = DC_GetDCPtr( hdc ))) return FALSE; } GDI_ReleaseObj( hdc ); @@ -580,7 +587,7 @@ dc->flags = 0; - TRACE("(driver=%s, device=%s, output=%s): returning %04x\n", + TRACE("(driver=%s, device=%s, output=%s): returning %p\n", debugstr_a(driver), debugstr_a(device), debugstr_a(output), dc->hSelf ); if (dc->funcs->pCreateDC && @@ -671,7 +678,7 @@ return 0; } - TRACE("(%04x): returning %04x\n", + TRACE("(%p): returning %p\n", hdc, dc->hSelf ); dc->flags = DC_MEMORY; @@ -714,7 +721,7 @@ const DC_FUNCTIONS *funcs = NULL; DC * dc; - TRACE("%04x\n", hdc ); + TRACE("%p\n", hdc ); GDI_CheckNotLock(); @@ -728,7 +735,7 @@ { DWORD data = dc->dwHookData; GDI_ReleaseObj( hdc ); - if (!proc( hdc, DCHC_DELETEDC, data, 0 )) return FALSE; + if (!proc( HDC_16( hdc ), DCHC_DELETEDC, data, 0 )) return FALSE; if (!(dc = DC_GetDCPtr( hdc ))) return TRUE; /* deleted by the hook */ } } @@ -737,14 +744,14 @@ { DC * dcs; HDC16 hdcs = dc->header.hNext; - if (!(dcs = DC_GetDCPtr( hdcs ))) break; + if (!(dcs = DC_GetDCPtr( HDC_32( hdcs )))) break; dc->header.hNext = dcs->header.hNext; dc->saveLevel--; if (dcs->hClipRgn) DeleteObject( dcs->hClipRgn ); if (dcs->hVisRgn) DeleteObject( dcs->hVisRgn ); if (dcs->hGCClipRgn) DeleteObject( dcs->hGCClipRgn ); PATH_DestroyGdiPath(&dcs->path); - GDI_FreeObject( hdcs, dcs ); + GDI_FreeObject( HDC_32( hdcs ), dcs ); } if (!(dc->flags & DC_SAVED)) @@ -903,10 +910,10 @@ DWORD WINAPI SetDCOrg16( HDC16 hdc, INT16 x, INT16 y ) { DWORD prevOrg = 0; - DC *dc = DC_GetDCPtr( hdc ); + DC *dc = DC_GetDCPtr( HDC_32( hdc )); if (!dc) return 0; if (dc->funcs->pSetDCOrg) prevOrg = dc->funcs->pSetDCOrg( dc->physDev, x, y ); - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return prevOrg; } @@ -1129,10 +1136,10 @@ static BOOL16 WINAPI call_dc_hook16( HDC16 hdc, WORD code, DWORD data, LPARAM lParam ) { FARPROC16 proc = NULL; - DC *dc = DC_GetDCPtr( hdc ); + DC *dc = DC_GetDCPtr( HDC_32( hdc )); if (!dc) return FALSE; proc = dc->hookProc; - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); if (!proc) return FALSE; return GDI_CallTo16_word_wwll( proc, hdc, code, data, lParam ); } @@ -1142,12 +1149,12 @@ */ BOOL16 WINAPI SetDCHook16( HDC16 hdc, FARPROC16 hookProc, DWORD dwHookData ) { - DC *dc = DC_GetDCPtr( hdc ); + DC *dc = DC_GetDCPtr( HDC_32( hdc )); if (!dc) return FALSE; dc->hookProc = hookProc; - GDI_ReleaseObj( hdc ); - return SetDCHook( hdc, call_dc_hook16, dwHookData ); + GDI_ReleaseObj( HDC_32( hdc )); + return SetDCHook( HDC_32( hdc ), call_dc_hook16, dwHookData ); } @@ -1156,10 +1163,10 @@ */ DWORD WINAPI GetDCHook16( HDC16 hdc, FARPROC16 *phookProc ) { - DC *dc = DC_GetDCPtr( hdc ); + DC *dc = DC_GetDCPtr( HDC_32( hdc )); if (!dc) return 0; *phookProc = dc->hookProc; - GDI_ReleaseObj( hdc ); + GDI_ReleaseObj( HDC_32( hdc )); return dc->dwHookData; } @@ -1169,7 +1176,7 @@ */ WORD WINAPI SetHookFlags16(HDC16 hDC, WORD flags) { - DC *dc = DC_GetDCPtr( hDC ); + DC *dc = DC_GetDCPtr( HDC_32( hDC )); if( dc ) { @@ -1184,7 +1191,7 @@ dc->flags |= DC_DIRTY; else if( flags & DCHF_VALIDATEVISRGN || !flags ) dc->flags &= ~DC_DIRTY; - GDI_ReleaseObj( hDC ); + GDI_ReleaseObj( HDC_32( hDC )); return wRet; } return 0; @@ -1342,7 +1349,7 @@ */ DWORD WINAPI GetLayout(HDC hdc) { - FIXME("(%08x): stub\n", hdc); + FIXME("(%p): stub\n", hdc); SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return 0; } @@ -1356,7 +1363,7 @@ */ DWORD WINAPI SetLayout(HDC hdc, DWORD layout) { - FIXME("(%08x,%08lx): stub\n", hdc, layout); + FIXME("(%p,%08lx): stub\n", hdc, layout); SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return 0; } @@ -1371,7 +1378,7 @@ */ COLORREF WINAPI SetDCBrushColor(HDC hdc, COLORREF crColor) { - FIXME("(%08x, %08lx): stub\n", hdc, crColor); + FIXME("(%p, %08lx): stub\n", hdc, crColor); SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return CLR_INVALID; } Index: objects/dib.c =================================================================== RCS file: /home/wine/wine/objects/dib.c,v retrieving revision 1.71 diff -u -r1.71 dib.c --- objects/dib.c 21 Nov 2002 21:50:04 -0000 1.71 +++ objects/dib.c 22 Nov 2002 17:21:24 -0000 @@ -285,7 +285,7 @@ ySrc, startscan, lines, bits, info, coloruse ); else { - FIXME("unimplemented on hdc %08x\n", hdc); + FIXME("unimplemented on hdc %p\n", hdc); ret = 0; } Index: objects/enhmetafile.c =================================================================== RCS file: /home/wine/wine/objects/enhmetafile.c,v retrieving revision 1.64 diff -u -r1.64 enhmetafile.c --- objects/enhmetafile.c 21 Nov 2002 23:45:47 -0000 1.64 +++ objects/enhmetafile.c 22 Nov 2002 17:21:25 -0000 @@ -96,7 +96,7 @@ { ENHMETAHEADER *ret = NULL; ENHMETAFILEOBJ *metaObj = (ENHMETAFILEOBJ *)GDI_GetObjPtr( hmf, ENHMETAFILE_MAGIC ); - TRACE("hmf %04x -> enhmetaObj %p\n", hmf, metaObj); + TRACE("hmf %p -> enhmetaObj %p\n", hmf, metaObj); if (metaObj) { ret = metaObj->emh; @@ -306,7 +306,7 @@ POINT pt[2]; TRACE( - "hdc = %08x, handletable = %p, record = %p, numHandles = %d\n", + "hdc = %p, handletable = %p, record = %p, numHandles = %d\n", hdc, handletable, mr, handles); if (!mr) return FALSE; @@ -1841,7 +1841,7 @@ ENHMETAHEADER* enhHeader = EMF_GetEnhMetaHeader( hEmf ); EMF_PaletteCopy infoForCallBack; - TRACE( "(%04x,%d,%p)\n", hEmf, cEntries, lpPe ); + TRACE( "(%p,%d,%p)\n", hEmf, cEntries, lpPe ); /* First check if there are any palettes associated with this metafile. */ @@ -1888,7 +1888,7 @@ METAFILEPICT mfp; RECT rc, *prcFrame = NULL; - TRACE("(%d, %p, %08x, %p)\n", cbBuffer, lpbBuffer, hdcRef, lpmfp); + TRACE("(%d, %p, %p, %p)\n", cbBuffer, lpbBuffer, hdcRef, lpmfp); if(!(hmf = SetMetaFileBitsEx(cbBuffer, lpbBuffer))) { WARN("SetMetaFileBitsEx fails\n"); Index: objects/font.c =================================================================== RCS file: /home/wine/wine/objects/font.c,v retrieving revision 1.91 diff -u -r1.91 font.c --- objects/font.c 21 Nov 2002 21:50:04 -0000 1.91 +++ objects/font.c 22 Nov 2002 17:21:26 -0000 @@ -319,7 +319,7 @@ { memcpy( &fontPtr->logfont, plf, sizeof(LOGFONTW) ); - TRACE("(%ld %ld %ld %ld %x %d %x %d %d) %s %s %s => %04x\n", + TRACE("(%ld %ld %ld %ld %x %d %x %d %d) %s %s %s => %p\n", plf->lfHeight, plf->lfWidth, plf->lfEscapement, plf->lfOrientation, plf->lfPitchAndFamily, @@ -333,7 +333,7 @@ /* this should really depend on whether GM_ADVANCED is set */ fontPtr->logfont.lfOrientation = fontPtr->logfont.lfEscapement; WARN("orientation angle %f set to " - "escapement angle %f for new font %04x\n", + "escapement angle %f for new font %p\n", plf->lfOrientation/10., plf->lfEscapement/10., hFont); } GDI_ReleaseObj( hFont ); @@ -890,7 +890,7 @@ HeapFree( GetProcessHeap(), 0, p ); } - TRACE("(%08x %s %d %p): returning %ld x %ld\n", + TRACE("(%p %s %d %p): returning %ld x %ld\n", hdc, debugstr_an (str, count), count, size, size->cx, size->cy ); return ret; } @@ -925,7 +925,7 @@ GDI_ReleaseObj( hdc ); - TRACE("(%08x %s %d %p): returning %ld x %ld\n", + TRACE("(%p %s %d %p): returning %ld x %ld\n", hdc, debugstr_wn (str, count), count, size, size->cx, size->cy ); return ret; } @@ -961,7 +961,7 @@ GDI_ReleaseObj( hdc ); - TRACE("(%08x %p %d %p): returning %ld x %ld\n", + TRACE("(%p %p %d %p): returning %ld x %ld\n", hdc, indices, count, size, size->cx, size->cy ); return ret; } @@ -1043,7 +1043,7 @@ SIZE tSize; BOOL ret = FALSE; - TRACE("(%08x, %s, %d)\n",hdc,debugstr_wn(str,count),maxExt); + TRACE("(%p, %s, %d)\n",hdc,debugstr_wn(str,count),maxExt); size->cx = size->cy = nFit = extent = 0; for(index = 0; index < count; index++) @@ -1318,7 +1318,7 @@ DC *dc = DC_GetDCPtr( hdc ); UINT ret; - TRACE("(%d,%d,%p)\n", hdc, cbData, lpOTM); + TRACE("(%p,%d,%p)\n", hdc, cbData, lpOTM); if(!dc) return 0; if(dc->gdiFont) { @@ -1473,7 +1473,7 @@ if(dc->funcs->pSetMapperFlags) ret = dc->funcs->pSetMapperFlags( dc->physDev, dwFlag ); else - FIXME("(0x%04x, 0x%08lx): stub - harmless\n", hDC, dwFlag); + FIXME("(%p, 0x%08lx): stub - harmless\n", hDC, dwFlag); GDI_ReleaseObj( hDC ); return ret; } @@ -1492,7 +1492,7 @@ */ BOOL WINAPI GetAspectRatioFilterEx( HDC hdc, LPSIZE pAspectRatio ) { - FIXME("(%04x, %p): -- Empty Stub !\n", hdc, pAspectRatio); + FIXME("(%p, %p): -- Empty Stub !\n", hdc, pAspectRatio); return FALSE; } @@ -1617,7 +1617,7 @@ DC *dc = DC_GetDCPtr(hdc); DWORD ret; - TRACE("(%04x, %04x, %04x, %p, %ld, %p, %p)\n", + TRACE("(%p, %04x, %04x, %p, %ld, %p, %p)\n", hdc, uChar, fuFormat, lpgm, cbBuffer, lpBuffer, lpmat2 ); if(!dc) return GDI_ERROR; @@ -1692,7 +1692,7 @@ DWORD WINAPI GetKerningPairsA( HDC hDC, DWORD cPairs, LPKERNINGPAIR lpKerningPairs ) { int i; - FIXME("(%x,%ld,%p): almost empty stub!\n", hDC, cPairs, lpKerningPairs); + FIXME("(%p,%ld,%p): almost empty stub!\n", hDC, cPairs, lpKerningPairs); for (i = 0; i < cPairs; i++) lpKerningPairs[i].iKernAmount = 0; return 0; @@ -1837,7 +1837,7 @@ WCHAR *lpstrW; INT countW; - TRACE("(%04x, %s, %d, %p, 0x%lx)\n", + TRACE("(%p, %s, %d, %p, 0x%lx)\n", hdc, debugstr_an(lpstr, count), count, pgi, flags); lpstrW = FONT_mbtowc(hdc, lpstr, count, &countW, NULL); @@ -1856,7 +1856,7 @@ DC *dc = DC_GetDCPtr(hdc); DWORD ret = GDI_ERROR; - TRACE("(%04x, %s, %d, %p, 0x%lx)\n", + TRACE("(%p, %s, %d, %p, 0x%lx)\n", hdc, debugstr_wn(lpstr, count), count, pgi, flags); if(!dc) return GDI_ERROR; Index: objects/gdiobj.c =================================================================== RCS file: /home/wine/wine/objects/gdiobj.c,v retrieving revision 1.81 diff -u -r1.81 gdiobj.c --- objects/gdiobj.c 18 Oct 2002 23:33:41 -0000 1.81 +++ objects/gdiobj.c 22 Nov 2002 17:21:26 -0000 @@ -38,6 +38,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(gdi); +#define HLOCAL_16(h32) (LOWORD(h32)) +#define HLOCAL_32(h16) ((HLOCAL)(ULONG_PTR)(h16)) /*********************************************************************** * GDI stock objects @@ -518,7 +520,7 @@ #define TRACE_SEC(handle,text) \ - TRACE("(%04x): " text " %ld\n", (handle), GDI_level.crst.RecursionCount) + TRACE("(%p): " text " %ld\n", (handle), GDI_level.crst.RecursionCount) /*********************************************************************** @@ -556,7 +558,7 @@ /* handle delayed DeleteObject*/ header->dwCount = 0; GDI_ReleaseObj( handle ); - TRACE( "executing delayed DeleteObject for %04x\n", handle ); + TRACE( "executing delayed DeleteObject for %p\n", handle ); DeleteObject( handle ); } } @@ -724,11 +726,11 @@ if ((UINT_PTR)handle & 2) /* GDI heap handle */ { - LOCAL_Unlock( GDI_HeapSel, handle ); - if ((new_handle = LOCAL_ReAlloc( GDI_HeapSel, handle, size, LMEM_MOVEABLE ))) + LOCAL_Unlock( GDI_HeapSel, HLOCAL_16( handle )); + if ((new_handle = HLOCAL_32( LOCAL_ReAlloc( GDI_HeapSel, HLOCAL_16( handle), size, LMEM_MOVEABLE )))) { assert( new_handle == handle ); /* moveable handle cannot change */ - return LOCAL_Lock( GDI_HeapSel, handle ); + return LOCAL_Lock( GDI_HeapSel, HLOCAL_16( handle )); } } else @@ -743,7 +745,7 @@ return new_ptr; } } - else ERR( "Invalid handle %x\n", handle ); + else ERR( "Invalid handle %p\n", handle ); } TRACE_SEC( handle, "leave" ); _LeaveSysLevel( &GDI_level ); @@ -762,8 +764,8 @@ object->funcs = NULL; if ((UINT_PTR)handle & 2) /* GDI heap handle */ { - LOCAL_Unlock( GDI_HeapSel, handle ); - LOCAL_Free( GDI_HeapSel, handle ); + LOCAL_Unlock( GDI_HeapSel, HLOCAL_16( handle )); + LOCAL_Free( GDI_HeapSel, HLOCAL_16( handle )); } else /* large heap handle */ { @@ -773,7 +775,7 @@ HeapFree( GetProcessHeap(), 0, large_handles[i] ); large_handles[i] = NULL; } - else ERR( "Invalid handle %x\n", handle ); + else ERR( "Invalid handle %p\n", handle ); } TRACE_SEC( handle, "leave" ); _LeaveSysLevel( &GDI_level ); @@ -796,14 +798,14 @@ if ((UINT_PTR)handle & 2) /* GDI heap handle */ { - ptr = (GDIOBJHDR *)LOCAL_Lock( GDI_HeapSel, handle ); + ptr = (GDIOBJHDR *)LOCAL_Lock( GDI_HeapSel, HLOCAL_16( handle )); if (ptr) { if (((magic != MAGIC_DONTCARE) && (GDIMAGIC(ptr->wMagic) != magic)) || (GDIMAGIC(ptr->wMagic) < FIRST_MAGIC) || (GDIMAGIC(ptr->wMagic) > LAST_MAGIC)) { - LOCAL_Unlock( GDI_HeapSel, handle ); + LOCAL_Unlock( GDI_HeapSel, HLOCAL_16( handle )); ptr = NULL; } } @@ -822,7 +824,7 @@ { _LeaveSysLevel( &GDI_level ); SetLastError( ERROR_INVALID_HANDLE ); - WARN( "Invalid handle %x\n", handle ); + WARN( "Invalid handle %p\n", handle ); } else TRACE_SEC( handle, "enter" ); @@ -836,7 +838,8 @@ */ void GDI_ReleaseObj( HGDIOBJ handle ) { - if ((UINT_PTR)handle & 2) LOCAL_Unlock( GDI_HeapSel, handle ); + if ((UINT_PTR)handle & 2) + LOCAL_Unlock( GDI_HeapSel, HLOCAL_16( handle )); TRACE_SEC( handle, "leave" ); _LeaveSysLevel( &GDI_level ); } @@ -866,20 +869,20 @@ if (!(header->wMagic & OBJECT_NOSYSTEM) && (header->wMagic >= FIRST_MAGIC) && (header->wMagic <= LAST_MAGIC)) { - TRACE("Preserving system object %04x\n", obj); + TRACE("Preserving system object %p\n", obj); GDI_ReleaseObj( obj ); return TRUE; } if (header->dwCount) { - TRACE("delayed for %04x because object in use, count %ld\n", obj, header->dwCount ); + TRACE("delayed for %p because object in use, count %ld\n", obj, header->dwCount ); header->dwCount |= 0x80000000; /* mark for delete */ GDI_ReleaseObj( obj ); return TRUE; } - TRACE("%04x\n", obj ); + TRACE("%p\n", obj ); /* Delete object */ @@ -899,7 +902,7 @@ HGDIOBJ ret; if ((obj < 0) || (obj >= NB_STOCK_OBJECTS)) return 0; ret = stock_objects[obj]; - TRACE("returning %4x\n", ret ); + TRACE("returning %p\n", ret ); return ret; } @@ -914,14 +917,16 @@ TRACE("%04x %d %p\n", handle, count, buffer ); if (!count) return 0; - if (!(ptr = GDI_GetObjPtr( handle, MAGIC_DONTCARE ))) return 0; + if (!(ptr = GDI_GetObjPtr( HLOCAL_32( handle ), MAGIC_DONTCARE ))) + return 0; if (ptr->funcs && ptr->funcs->pGetObject16) - result = ptr->funcs->pGetObject16( handle, ptr, count, buffer ); + result = ptr->funcs->pGetObject16( HLOCAL_32(handle), + ptr, count, buffer ); else SetLastError( ERROR_INVALID_HANDLE ); - GDI_ReleaseObj( handle ); + GDI_ReleaseObj( HLOCAL_32( handle )); return result; } @@ -933,7 +938,7 @@ { GDIOBJHDR * ptr; INT result = 0; - TRACE("%08x %d %p\n", handle, count, buffer ); + TRACE("%p %d %p\n", handle, count, buffer ); if (!count) return 0; if (!(ptr = GDI_GetObjPtr( handle, MAGIC_DONTCARE ))) return 0; @@ -954,7 +959,7 @@ { GDIOBJHDR * ptr; INT result = 0; - TRACE("%08x %d %p\n", handle, count, buffer ); + TRACE("%p %d %p\n", handle, count, buffer ); if (!count) return 0; if (!(ptr = GDI_GetObjPtr( handle, MAGIC_DONTCARE ))) return 0; @@ -975,7 +980,7 @@ { GDIOBJHDR * ptr; INT result = 0; - TRACE("%08x\n", handle ); + TRACE("%p\n", handle ); if (!(ptr = GDI_GetObjPtr( handle, MAGIC_DONTCARE ))) return 0; @@ -1043,7 +1048,7 @@ case OBJ_BITMAP: ret = dc->hBitmap; break; default: /* the SDK only mentions those above */ - FIXME("(%08x,%d): unknown type.\n",hdc,type); + FIXME("(%p,%d): unknown type.\n",hdc,type); break; } GDI_ReleaseObj( hdc ); @@ -1061,7 +1066,7 @@ GDIOBJHDR *header = GDI_GetObjPtr( handle, MAGIC_DONTCARE ); if (!header) return 0; - TRACE("hdc=%04x %04x\n", hdc, handle ); + TRACE("hdc=%p %p\n", hdc, handle ); if (header->funcs && header->funcs->pSelectObject) { @@ -1088,7 +1093,7 @@ GDIOBJHDR * header = GDI_GetObjPtr( obj, MAGIC_DONTCARE ); if (!header) return FALSE; - TRACE("%04x\n", obj ); + TRACE("%p\n", obj ); /* Unrealize object */ @@ -1123,7 +1128,7 @@ LOGPEN pen; LOGBRUSH brush; - TRACE("%04x %d %08lx %08lx\n", + TRACE("%p %d %08lx %08lx\n", hdc, nObjType, (DWORD)lpEnumFunc, lParam ); switch(nObjType) { @@ -1186,11 +1191,11 @@ { UINT16 magic = 0; - GDIOBJHDR *object = GDI_GetObjPtr( handle, MAGIC_DONTCARE ); + GDIOBJHDR *object = GDI_GetObjPtr( HLOCAL_32( handle ), MAGIC_DONTCARE ); if (object) { magic = GDIMAGIC(object->wMagic) - PEN_MAGIC + 1; - GDI_ReleaseObj( handle ); + GDI_ReleaseObj( HLOCAL_32( handle )); } return magic; } @@ -1217,14 +1222,14 @@ */ void WINAPI MakeObjectPrivate16( HGDIOBJ16 handle, BOOL16 private ) { - GDIOBJHDR *ptr = GDI_GetObjPtr( handle, MAGIC_DONTCARE ); + GDIOBJHDR *ptr = GDI_GetObjPtr( HLOCAL_32( handle ), MAGIC_DONTCARE ); if (!ptr) { ERR("invalid GDI object %04x !\n", handle); return; } ptr->wMagic |= OBJECT_PRIVATE; - GDI_ReleaseObj( handle ); + GDI_ReleaseObj( HLOCAL_32( handle )); } Index: objects/metafile.c =================================================================== RCS file: /home/wine/wine/objects/metafile.c,v retrieving revision 1.54 diff -u -r1.54 metafile.c --- objects/metafile.c 21 Nov 2002 21:50:04 -0000 1.54 +++ objects/metafile.c 22 Nov 2002 17:21:27 -0000 @@ -57,6 +57,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(metafile); +#define HGDIOBJ_32(h16) ((HGDIOBJ)(ULONG_PTR)(h16)) + #include "pshpack1.h" typedef struct { @@ -444,7 +446,7 @@ METAHEADER *mh2 = NULL; HANDLE hFile; - TRACE("(%08x,%s)\n", hSrcMetaFile, lpFilename); + TRACE("(%p,%s)\n", hSrcMetaFile, lpFilename); if(!mh) return 0; @@ -636,7 +638,7 @@ HFONT hFont; BOOL16 result = TRUE, loaded = FALSE; - TRACE("(%04x, %04x, %08lx, %08lx)\n", + TRACE("(%p, %04x, %08lx, %08lx)\n", hdc, hmf, (DWORD)lpEnumFunc, lpData); @@ -688,7 +690,7 @@ /* free objects in handle table */ for(i = 0; i < mh->mtNoObjects; i++) if(*(ht->objectHandle + i) != 0) - DeleteObject(*(ht->objectHandle + i)); + DeleteObject(HGDIOBJ_32( *(ht->objectHandle + i))); /* free handle table */ GlobalFree16(hHT); @@ -728,7 +730,7 @@ HBRUSH hBrush; HFONT hFont; - TRACE("(%08x,%08x,%p,%p)\n", hdc, hmf, lpEnumFunc, (void*)lpData); + TRACE("(%p,%p,%p,%p)\n", hdc, hmf, lpEnumFunc, (void*)lpData); if (!mh) return 0; if(mh->mtType == METAFILE_DISK) { @@ -805,7 +807,7 @@ POINT *pt; BITMAPINFOHEADER *infohdr; - TRACE("(%04x %p %p %u) function %04x\n", hdc, ht, mr, handles, mr->rdFunction); + TRACE("(%p %p %p %u) function %04x\n", hdc, ht, mr, handles, mr->rdFunction); switch (mr->rdFunction) { @@ -1363,7 +1365,7 @@ METAHEADER *mh = MF_GetMetaHeader(hmf); UINT mfSize; - TRACE("(%08x,%d,%p)\n", hmf, nSize, buf); + TRACE("(%p,%d,%p)\n", hmf, nSize, buf); if (!mh) return 0; /* FIXME: error code */ if(mh->mtType == METAFILE_DISK) FIXME("Disk-based metafile?\n"); @@ -1388,7 +1390,7 @@ HMETAFILE hmf; UINT ret; - FIXME("(%d,%d,%p,%d,%d): stub\n", + FIXME("(%p,%d,%p,%d,%p): stub\n", hemf, cbBuffer, lpbBuffer, fnMapMode, hdcRef); hdcmf = CreateMetaFileA(NULL); /* PlayEnhMetaFile(hdcmf, hemf, lpRect); where does the bounding rect come from? */ Index: objects/palette.c =================================================================== RCS file: /home/wine/wine/objects/palette.c,v retrieving revision 1.53 diff -u -r1.53 palette.c --- objects/palette.c 21 Nov 2002 21:50:04 -0000 1.53 +++ objects/palette.c 22 Nov 2002 17:21:28 -0000 @@ -168,7 +168,7 @@ palettePtr->mapping = NULL; GDI_ReleaseObj( hpalette ); - TRACE(" returning %04x\n", hpalette); + TRACE(" returning %p\n", hpalette); return hpalette; } @@ -284,7 +284,7 @@ PALETTEOBJ * palPtr; UINT numEntries; - TRACE("hpal = %04x, count=%i\n", hpalette, count ); + TRACE("hpal = %p, count=%i\n", hpalette, count ); palPtr = (PALETTEOBJ *) GDI_GetObjPtr( hpalette, PALETTE_MAGIC ); if (!palPtr) return 0; @@ -334,7 +334,7 @@ PALETTEOBJ * palPtr; UINT numEntries; - TRACE("hpal=%04x,start=%i,count=%i\n",hpalette,start,count ); + TRACE("hpal=%p,start=%i,count=%i\n",hpalette,start,count ); if (hpalette == GetStockObject(DEFAULT_PALETTE)) return 0; palPtr = (PALETTEOBJ *) GDI_GetObjPtr( hpalette, PALETTE_MAGIC ); @@ -373,7 +373,7 @@ int prevsize, size = sizeof(LOGPALETTE) + (cEntries - 1) * sizeof(PALETTEENTRY); int* mapping = NULL; - TRACE("hpal = %04x, prev = %i, new = %i\n", + TRACE("hpal = %p, prev = %i, new = %i\n", hPal, palPtr ? palPtr->logpalette.palNumEntries : -1, cEntries ); if( !palPtr ) return FALSE; @@ -430,7 +430,7 @@ UINT NumEntries, /* [in] Count of entries in palette */ const PALETTEENTRY* PaletteColors) /* [in] Pointer to first replacement */ { - TRACE("%04x (%i - %i)\n", hPal, StartIndex,StartIndex+NumEntries); + TRACE("%p (%i - %i)\n", hPal, StartIndex,StartIndex+NumEntries); if( hPal != GetStockObject(DEFAULT_PALETTE) ) { @@ -455,7 +455,7 @@ UINT use) /* [in] Palette-usage flag */ { UINT old = SystemPaletteUse; - FIXME("(%04x,%04x): stub\n", hdc, use ); + FIXME("(%p,%04x): stub\n", hdc, use ); SystemPaletteUse = use; return old; } @@ -490,7 +490,7 @@ UINT ret = 0; DC *dc; - TRACE("hdc=%04x,start=%i,count=%i\n", hdc,start,count); + TRACE("hdc=%p,start=%i,count=%i\n", hdc,start,count); if ((dc = DC_GetDCPtr( hdc ))) { @@ -539,7 +539,7 @@ } GDI_ReleaseObj( hpalette ); } - TRACE("(%04x,%06lx): returning %d\n", hpalette, color, index ); + TRACE("(%p,%06lx): returning %d\n", hpalette, color, index ); return index; } @@ -666,11 +666,11 @@ HPALETTE prev; DC *dc; - TRACE("%04x %04x\n", hdc, hpal ); + TRACE("%p %p\n", hdc, hpal ); if (GetObjectType(hpal) != OBJ_PAL) { - WARN("invalid selected palette %04x\n",hpal); + WARN("invalid selected palette %p\n",hpal); return 0; } if (!(dc = DC_GetDCPtr( hdc ))) return 0; @@ -692,7 +692,7 @@ if (!dc) return 0; - TRACE("%04x...\n", hdc ); + TRACE("%p...\n", hdc ); if( dc->hPalette == GetStockObject( DEFAULT_PALETTE )) { @@ -707,7 +707,7 @@ hLastRealizedPalette = dc->hPalette; pLastRealizedDC = dc->funcs; } - else TRACE(" skipping (hLastRealizedPalette = %04x)\n", hLastRealizedPalette); + else TRACE(" skipping (hLastRealizedPalette = %p)\n", hLastRealizedPalette); GDI_ReleaseObj( hdc ); TRACE(" realized %i colors.\n", realized ); @@ -855,7 +855,7 @@ { DWORD callerLen; - FIXME("(%04x, %p, %p): partial stub\n", hDC, lpcbName, lpszFilename); + FIXME("(%p, %p, %p): partial stub\n", hDC, lpcbName, lpszFilename); callerLen = *lpcbName; Index: objects/region.c =================================================================== RCS file: /home/wine/wine/objects/region.c,v retrieving revision 1.52 diff -u -r1.52 region.c --- objects/region.c 21 Nov 2002 21:50:04 -0000 1.52 +++ objects/region.c 22 Nov 2002 17:21:29 -0000 @@ -539,7 +539,7 @@ { RGNOBJ *rgn = obj; - TRACE(" %04x\n", handle ); + TRACE(" %p\n", handle ); REGION_DestroyWineRegion( rgn->rgn ); return GDI_FreeObject( handle, obj ); @@ -562,7 +562,7 @@ RGNOBJ * obj = (RGNOBJ *) GDI_GetObjPtr( hrgn, REGION_MAGIC ); INT ret; - TRACE("%04x %d,%d\n", hrgn, x, y); + TRACE("%p %d,%d\n", hrgn, x, y); if (!obj) return ERROR; @@ -600,7 +600,7 @@ if (obj) { INT ret; - TRACE(" %04x\n", hrgn ); + TRACE(" %p\n", hrgn ); rect->left = obj->rgn->extents.left; rect->top = obj->rgn->extents.top; rect->right = obj->rgn->extents.right; @@ -649,7 +649,7 @@ { RGNOBJ * obj; - TRACE(" %04x %d,%d-%d,%d\n", + TRACE(" %p %d,%d-%d,%d\n", hrgn, left, top, right, bottom ); if (!(obj = (RGNOBJ *) GDI_GetObjPtr( hrgn, REGION_MAGIC ))) return FALSE; @@ -708,7 +708,7 @@ d = (ellipse_height < 128) ? ((3 * ellipse_height) >> 2) : 64; if (!(hrgn = REGION_CreateRegion(d))) return 0; if (!(obj = GDI_GetObjPtr( hrgn, REGION_MAGIC ))) return 0; - TRACE("(%d,%d-%d,%d %dx%d): ret=%04x\n", + TRACE("(%d,%d-%d,%d %dx%d): ret=%p\n", left, top, right, bottom, ellipse_width, ellipse_height, hrgn ); /* Ellipse algorithm, based on an article by K. Porter */ @@ -819,7 +819,7 @@ DWORD size; RGNOBJ *obj = (RGNOBJ *) GDI_GetObjPtr( hrgn, REGION_MAGIC ); - TRACE(" %04x count = %ld, rgndata = %p\n", + TRACE(" %p count = %ld, rgndata = %p\n", hrgn, count, rgndata); if(!obj) return 0; @@ -883,7 +883,7 @@ REGION_UnionRectWithRegion( pCurRect, obj->rgn ); GDI_ReleaseObj( hrgn ); - TRACE("%04x\n", hrgn ); + TRACE("%p\n", hrgn ); return hrgn; } else ERR("Could not get pointer to newborn Region!\n"); @@ -1069,7 +1069,7 @@ RGNOBJ *destObj = (RGNOBJ *) GDI_GetObjPtr( hDest, REGION_MAGIC); INT result = ERROR; - TRACE(" %04x,%04x -> %04x mode=%x\n", + TRACE(" %p,%p -> %p mode=%x\n", hSrc1, hSrc2, hDest, mode ); if (destObj) { @@ -1121,7 +1121,7 @@ GDI_ReleaseObj( hDest ); } else { - ERR("Invalid rgn=%04x\n", hDest); + ERR("Invalid rgn=%p\n", hDest); } return result; } Index: graphics/bitblt.c =================================================================== RCS file: /home/wine/wine/graphics/bitblt.c,v retrieving revision 1.19 diff -u -r1.19 bitblt.c --- graphics/bitblt.c 16 Aug 2002 00:42:06 -0000 1.19 +++ graphics/bitblt.c 22 Nov 2002 17:21:29 -0000 @@ -37,7 +37,7 @@ if (dc->funcs->pPatBlt) { - TRACE("%04x %d,%d %dx%d %06lx\n", hdc, left, top, width, height, rop ); + TRACE("%p %d,%d %dx%d %06lx\n", hdc, left, top, width, height, rop ); bRet = dc->funcs->pPatBlt( dc->physDev, left, top, width, height, rop ); } GDI_ReleaseObj( hdc ); @@ -59,7 +59,7 @@ if ((dcDst = DC_GetDCUpdate( hdcDst ))) { dcSrc = DC_GetDCPtr( hdcSrc ); - TRACE("hdcSrc=%04x %d,%d %d bpp->hdcDest=%04x %d,%d %dx%dx%d rop=%06lx\n", + TRACE("hdcSrc=%p %d,%d %d bpp->hdcDest=%p %d,%d %dx%dx%d rop=%06lx\n", hdcSrc, xSrc, ySrc, dcSrc ? dcSrc->bitsPerPixel : 0, hdcDst, xDst, yDst, width, height, dcDst->bitsPerPixel, rop); if (dcDst->funcs->pBitBlt) @@ -90,7 +90,7 @@ { dcSrc = DC_GetDCPtr( hdcSrc ); - TRACE("%04x %d,%d %dx%dx%d -> %04x %d,%d %dx%dx%d rop=%06lx\n", + TRACE("%p %d,%d %dx%dx%d -> %p %d,%d %dx%dx%d rop=%06lx\n", hdcSrc, xSrc, ySrc, widthSrc, heightSrc, dcSrc ? dcSrc->bitsPerPixel : 0, hdcDst, xDst, yDst, widthDst, heightDst, dcDst->bitsPerPixel, rop ); @@ -116,7 +116,7 @@ INT nXSrc, INT nYSrc, HBITMAP hbmMask, INT xMask, INT yMask, DWORD dwRop) { - FIXME("(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%ld): stub\n", + FIXME("(%p,%d,%d,%d,%d,%p,%d,%d,%p,%d,%d,%ld): stub\n", hdcDest,nXDest,nYDest,nWidth,nHeight,hdcSource,nXSrc,nYSrc, hbmMask,xMask,yMask,dwRop); return 1; Index: graphics/mapping.c =================================================================== RCS file: /home/wine/wine/graphics/mapping.c,v retrieving revision 1.20 diff -u -r1.20 mapping.c --- graphics/mapping.c 21 Nov 2002 21:50:04 -0000 1.20 +++ graphics/mapping.c 22 Nov 2002 17:21:29 -0000 @@ -160,7 +160,7 @@ } } - TRACE("%04x %d\n", hdc, mode ); + TRACE("%p %d\n", hdc, mode ); ret = dc->MapMode; horzSize = GetDeviceCaps( hdc, HORZSIZE ); Index: graphics/painting.c =================================================================== RCS file: /home/wine/wine/graphics/painting.c,v retrieving revision 1.52 diff -u -r1.52 painting.c --- graphics/painting.c 28 Aug 2002 23:42:35 -0000 1.52 +++ graphics/painting.c 22 Nov 2002 17:21:30 -0000 @@ -318,7 +318,7 @@ INT ret = 0; DC * dc = DC_GetDCPtr( hdc ); - TRACE("(%08x,%p)\n",hdc,ppfd); + TRACE("(%p,%p)\n",hdc,ppfd); if (!dc) return 0; @@ -347,7 +347,7 @@ INT bRet = FALSE; DC * dc = DC_GetDCPtr( hdc ); - TRACE("(%d,%d,%p)\n",hdc,iPixelFormat,ppfd); + TRACE("(%p,%d,%p)\n",hdc,iPixelFormat,ppfd); if (!dc) return 0; @@ -375,7 +375,7 @@ INT ret = 0; DC * dc = DC_GetDCPtr( hdc ); - TRACE("(%08x)\n",hdc); + TRACE("(%p)\n",hdc); if (!dc) return 0; @@ -407,7 +407,7 @@ INT ret = 0; DC * dc = DC_GetDCPtr( hdc ); - TRACE("(%08x,%d,%d,%p): stub\n",hdc,iPixelFormat,nBytes,ppfd); + TRACE("(%p,%d,%d,%p): stub\n",hdc,iPixelFormat,nBytes,ppfd); if (!dc) return 0; @@ -439,7 +439,7 @@ INT bRet = FALSE; DC * dc = DC_GetDCPtr( hdc ); - TRACE("(%08x)\n",hdc); + TRACE("(%p)\n",hdc); if (!dc) return TRUE; Index: graphics/path.c =================================================================== RCS file: /home/wine/wine/graphics/path.c,v retrieving revision 1.32 diff -u -r1.32 path.c --- graphics/path.c 28 Aug 2002 23:42:35 -0000 1.32 +++ graphics/path.c 22 Nov 2002 17:21:30 -0000 @@ -1555,7 +1555,7 @@ GdiPath *pPath; BOOL bRet = FALSE; - TRACE("(%08x)\n", hdc); + TRACE("(%p)\n", hdc); if(!dc) return FALSE; if(dc->funcs->pStrokePath) -- Johan Dahlin <jdahlin@async.com.br> Async Open Source