aboutsummaryrefslogtreecommitdiff
path: root/src/libdraw
diff options
context:
space:
mode:
Diffstat (limited to 'src/libdraw')
-rw-r--r--src/libdraw/x11-init.c2
-rw-r--r--src/libdraw/x11-wsys.c5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/libdraw/x11-init.c b/src/libdraw/x11-init.c
index fb6a9144..1283f430 100644
--- a/src/libdraw/x11-init.c
+++ b/src/libdraw/x11-init.c
@@ -124,6 +124,8 @@ xerror(XDisplay *d, XErrorEvent *e)
{
char buf[200];
+ if(e->request_code == 42) /* XSetInputFocus */
+ return 0;
print("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);
diff --git a/src/libdraw/x11-wsys.c b/src/libdraw/x11-wsys.c
index ac4aa40c..e27202f5 100644
--- a/src/libdraw/x11-wsys.c
+++ b/src/libdraw/x11-wsys.c
@@ -8,7 +8,10 @@
void
drawtopwindow(void)
{
- XRaiseWindow(_x.display, _x.drawable);
+ XMapRaised(_x.display, _x.drawable);
+ XFlush(_x.display);
+ XSetInputFocus(_x.display, _x.drawable, RevertToPointerRoot,
+ CurrentTime);
XFlush(_x.display);
}