Modified files: dlls/x11drv : x11drv_main.c Log message: Codeweavers Add error handler to lock_tsx11.
Index: dlls/x11drv/x11drv_main.c =================================================================== RCS file: /home/wine/wine/dlls/x11drv/x11drv_main.c,v retrieving revision 1.47 diff -u -r1.47 x11drv_main.c --- dlls/x11drv/x11drv_main.c 2001/11/30 23:15:32 1.47 +++ dlls/x11drv/x11drv_main.c 2002/01/28 00:19:39 @@ -102,11 +102,32 @@ */ static int error_handler(Display *display, XErrorEvent *error_evt) { + ERR("XERROR: code %d request %d minor %d xid %08lx\n", + error_evt->error_code, + error_evt->request_code, + error_evt->minor_code, + error_evt->resourceid); + DebugBreak(); /* force an entry in the debugger */ return 0; } /*********************************************************************** + * empty_error_handler + */ +static int empty_error_handler(Display *display, XErrorEvent *error_evt) +{ + char buf[128]; + + wine_tsx11_lock(); + XGetErrorText(display, error_evt->error_code, buf, 128); + wine_tsx11_unlock(); + + ERR("XID(%08lx): %s\n", error_evt->resourceid, buf); + return 0; +} + +/*********************************************************************** * lock_tsx11 */ static void lock_tsx11(void) @@ -333,6 +354,7 @@ XSetErrorHandler( error_handler ); XSynchronize( display, True ); } + else XSetErrorHandler( empty_error_handler ); screen_width = WidthOfScreen( screen ); screen_height = HeightOfScreen( screen ); @@ -403,6 +425,7 @@ /* cleanup XVidMode */ X11DRV_XF86VM_Cleanup(); #endif + X11DRV_XRender_Finalize(); /* FIXME: should detach all threads */ thread_detach();