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