[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE_3_1_BRANCH: kdelibs/kinit [POSSIBLY UNSAFE]
From: Waldo Bastian <bastian () kde ! org>
Date: 2003-07-16 20:47:06
[Download RAW message or body]
CVS commit by waba:
Handle X errors instead of dying on them. (StartupInfo!!)
M +22 -1 kinit.cpp 1.105.2.4 [POSSIBLY UNSAFE: printf]
--- kdelibs/kinit/kinit.cpp #1.105.2.3:1.105.2.4
@@ -136,4 +136,5 @@ struct {
extern "C" {
int kdeinit_xio_errhandler( Display * );
+int kdeinit_x_errhandler( Display *, XErrorEvent *err );
}
@@ -1342,4 +1343,22 @@ int kdeinit_xio_errhandler( Display *dis
}
+int kdeinit_x_errhandler( Display *dpy, XErrorEvent *err )
+{
+#ifndef NDEBUG
+ char errstr[256];
+ XGetErrorText( dpy, err->error_code, errstr, 256 );
+ if ( err->error_code != BadWindow )
+ {
+ fprintf(stderr, "kdeinit: KDE detected X Error: %s %d\n", errstr, err->error_code );
+ fprintf(stderr, " Major opcode: %d\n", err->request_code);
+ }
+#else
+ Q_UNUSED(dpy);
+ Q_UNUSED(err);
+#endif
+ return 0;
+}
+
+
#ifdef Q_WS_X11
// Borrowed from kdebase/kaudio/kaudioserver.cpp
@@ -1349,4 +1368,6 @@ static int initXconnection()
if ( X11display != 0 ) {
XSetIOErrorHandler(kdeinit_xio_errhandler);
+ XSetErrorHandler(kdeinit_x_errhandler);
+
XCreateSimpleWindow(X11display, DefaultRootWindow(X11display), 0,0,1,1, \
0,
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic