Avoid an XRender error on metafile test exit

Dmitry Timoshkov dmitry at baikal.ru
Mon May 3 00:35:17 CDT 2004


Hello,

this patch fixes an XRender error on dlls/gdi/tests/metafile.c exit.

Looks like user32 doesn't destroy windows on exit of a single-threaded
process since it doesn't receive DLL_THREAD_DETACH notification.

Changelog:
    Dmitry Timoshkov <dmitry at codeweavers.com>
    Avoid an XRender error on metafile test exit.

diff -u cvs/hq/wine/dlls/gdi/tests/metafile.c wine/dlls/gdi/tests/metafile.c
--- cvs/hq/wine/dlls/gdi/tests/metafile.c	2004-03-10 03:19:53.000000000 +0800
+++ wine/dlls/gdi/tests/metafile.c	2004-05-03 14:08:40.000000000 +0900
@@ -186,6 +186,8 @@ static void test_ExtTextOut(void)
 
     ok(DeleteEnhMetaFile(hMetafile), "DeleteEnhMetaFile error %ld\n", GetLastError());
     ok(ReleaseDC(hwnd, hdcDisplay), "ReleaseDC error %ld\n", GetLastError());
+
+    ok(DestroyWindow(hwnd), "DestroyWindow error %ld\n", GetLastError());
 }
 
 START_TEST(metafile)
diff -u cvs/hq/wine/dlls/x11drv/init.c wine/dlls/x11drv/init.c
--- cvs/hq/wine/dlls/x11drv/init.c	2004-03-07 17:24:51.000000000 +0800
+++ wine/dlls/x11drv/init.c	2004-05-03 13:49:19.000000000 +0900
@@ -122,6 +122,8 @@ BOOL X11DRV_CreateDC( HDC hdc, X11DRV_PD
  */
 BOOL X11DRV_DeleteDC( X11DRV_PDEVICE *physDev )
 {
+    TRACE("hdc %p\n", physDev->hdc);
+
     if(physDev->xrender)
       X11DRV_XRender_DeleteDC( physDev );
     DeleteObject( physDev->region );
diff -u cvs/hq/wine/dlls/x11drv/xrender.c wine/dlls/x11drv/xrender.c
--- cvs/hq/wine/dlls/x11drv/xrender.c	2004-05-01 18:19:06.000000000 +0900
+++ wine/dlls/x11drv/xrender.c	2004-05-03 14:10:20.000000000 +0900
@@ -487,6 +487,8 @@ BOOL X11DRV_XRender_SelectFont(X11DRV_PD
  */
 void X11DRV_XRender_DeleteDC(X11DRV_PDEVICE *physDev)
 {
+    TRACE("hdc %p\n", physDev->hdc);
+
     wine_tsx11_lock();
     if(physDev->xrender->tile_pict)
         pXRenderFreePicture(gdi_display, physDev->xrender->tile_pict);






More information about the wine-patches mailing list