aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/devdraw/x11-init.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/devdraw/x11-init.c')
-rw-r--r--src/cmd/devdraw/x11-init.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/cmd/devdraw/x11-init.c b/src/cmd/devdraw/x11-init.c
index 9820ea24..bf1262ac 100644
--- a/src/cmd/devdraw/x11-init.c
+++ b/src/cmd/devdraw/x11-init.c
@@ -28,11 +28,18 @@ xerror(XDisplay *d, XErrorEvent *e)
return 0;
if(e->request_code == 18) /* XChangeProperty */
return 0;
+ /*
+ * BadDrawable happens in apps that get resized a LOT,
+ * e.g. when KDE is configured to resize continuously
+ * during a window drag.
+ */
+ if(e->error_code == 9) /* BadDrawable */
+ return 0;
- print("X error: error_code=%d, request_code=%d, minor=%d disp=%p\n",
+ fprint(2, "X error: error_code=%d, request_code=%d, minor=%d disp=%p\n",
e->error_code, e->request_code, e->minor_code, d);
XGetErrorText(d, e->error_code, buf, sizeof buf);
- print("%s\n", buf);
+ fprint(2, "%s\n", buf);
return 0;
}
@@ -681,8 +688,6 @@ _xconfigure(XEvent *e)
if(xe->width == Dx(_x.screenr) && xe->height == Dy(_x.screenr))
return 0;
- if(xe->width==0 || xe->height==0)
- fprint(2, "ignoring resize to %dx%d\n", xe->width, xe->height);
r = Rect(0, 0, xe->width, xe->height);
qlock(&_x.screenlock);
if(_x.screenpm != _x.nextscreenpm){