67 qDebug() <<
"qt_x_errhandler" << err->error_code;
69 switch (err->error_code) {
72 if (err->request_code == 20
73 && (err->resourceid == XA_RESOURCE_MANAGER
74 || err->resourceid == XA_RGB_DEFAULT_MAP
77 || err->resourceid ==
ATOM(KDE_FULL_SESSION)
78 || err->resourceid ==
ATOM(KWIN_RUNNING)
92 if (err->request_code == 2
93 || err->request_code == 38 ) {
94 for (
int i = 0; i < ScreenCount(dpy); ++i) {
95 if (err->resourceid == RootWindow(dpy, i)) {
102 if (err->request_code == 25 ) {
103 for (
int i = 0; i < ScreenCount(dpy); ++i) {
104 if (err->resourceid == RootWindow(dpy, i)) {
110 if (
X11->xdndHandleBadwindow()) {
111 qDebug(
"xdndHandleBadwindow returned true");
117 if (
X11->ignore_badwindow)
123 if (err->request_code == 42 )
129 if (err->request_code == X11->xinput_major 130 && err->error_code == (
X11->xinput_errorbase + XI_BadDevice)
131 && err->minor_code == 3 ) {
139 XGetErrorText( dpy, err->error_code, errstr, 256 );
141 char request_str[256];
142 qsnprintf(buffer, 256,
"%d", err->request_code);
143 XGetErrorDatabaseText(dpy,
"XRequest", buffer,
"", request_str, 256);
144 if (err->request_code < 128) {
147 " Major opcode: %d (%s)\n" 148 " Resource id: 0x%lx",
149 errstr, err->error_code,
155 const char *extensionName = 0;
157 if (err->request_code ==
X11->xrender_major)
158 extensionName =
"RENDER";
159 else if (err->request_code ==
X11->xrandr_major)
160 extensionName =
"RANDR";
161 else if (err->request_code ==
X11->xinput_major)
162 extensionName =
"XInputExtension";
163 else if (err->request_code ==
X11->mitshm_major)
164 extensionName =
"MIT-SHM";
168 qsnprintf(buffer, 256,
"%s.%d", extensionName, err->minor_code);
169 XGetErrorDatabaseText(dpy,
"XRequest", buffer,
"", minor_str, 256);
171 extensionName =
"Uknown extension";
172 qsnprintf(minor_str, 256,
"Unknown request");
175 " Extension: %d (%s)\n" 176 " Minor opcode: %d (%s)\n" 177 " Resource id: 0x%lx",
178 errstr, err->error_code,
Q_CORE_EXPORT void qDebug(const char *,...)
Q_CORE_EXPORT void qWarning(const char *,...)
int qsnprintf(char *str, size_t n, const char *fmt,...)
A portable snprintf() function, calls qvsnprintf.
static bool seen_badwindow