X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=chiark-utils.git;a=blobdiff_plain;f=cprogs%2Fxduplic-copier.c;h=d9703a55e72ed42fb2c51c7ae0a7da054deeda22;hp=8c1da088778747cc196df8f9cb2de07004d91e46;hb=dc5abfc65426d4b466cd69b5fceeffb53779afd8;hpb=8f95420a4c829b5b32cb5ffa9351df3e836126a1 diff --git a/cprogs/xduplic-copier.c b/cprogs/xduplic-copier.c index 8c1da08..d9703a5 100644 --- a/cprogs/xduplic-copier.c +++ b/cprogs/xduplic-copier.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include @@ -144,8 +145,7 @@ static void buttonpress(XButtonEvent *e) { if (e->window != e->root) return; - sw= XmuClientWindow(display, e->subwindow); - if (!sw) { + if (!e->subwindow) { if (!rightbutton) { stopselecting(); } else { @@ -160,6 +160,8 @@ static void buttonpress(XButtonEvent *e) { return; } + sw= XmuClientWindow(display, e->subwindow); + if (sw == w) { beep(); return; } for (ownp=&headwn; @@ -201,7 +203,7 @@ static void keypress(XKeyEvent *e) { (unsigned long)e->time, e->x,e->y, e->x_root,e->y_root, e->state, e->keycode, (int)e->same_screen); - if (XKeycodeToKeysym(display, e->keycode, 0) == XK_q) _exit(1); + if (XkbKeycodeToKeysym(display, e->keycode, 0, 0) == XK_q) _exit(1); beep(); return; } for (own=headwn; own; own=own->next) { @@ -233,6 +235,7 @@ int main(int argc, const char **argv) { Font font; display= XOpenDisplay(0); + if (!display) { fputs("XOpenDisplay failed\n",stderr); exit(-1); } screen= DefaultScreen(display); cmap= DefaultColormap(display,screen); root= DefaultRootWindow(display);