Add error handler from CW
Duane Clark
dclark at akamail.com
Sun Jan 27 20:12:26 CST 2002
Modified files:
dlls/x11drv : x11drv_main.c
Log message:
Codeweavers
Add error handler to lock_tsx11.
-------------- next part --------------
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();
More information about the wine-patches
mailing list