From 56afeac8ea058ac0c0637df224e8a55450691eed Mon Sep 17 00:00:00 2001 From: rsc Date: Fri, 6 Aug 2004 12:57:43 +0000 Subject: different delete handling from axel. who knows what it fixes or breaks. --- src/cmd/rio/main.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/cmd/rio/main.c') diff --git a/src/cmd/rio/main.c b/src/cmd/rio/main.c index 22395d70..7c7e7146 100644 --- a/src/cmd/rio/main.c +++ b/src/cmd/rio/main.c @@ -143,12 +143,12 @@ main(int argc, char *argv[]) curtime = -1; /* don't care */ if (do_exit) { - sendcmessage(DefaultRootWindow(dpy), exit_rio, 0L, 1); + sendcmessage(DefaultRootWindow(dpy), exit_rio, 0L, 1, 1); XSync(dpy, False); exit(0); } if (do_restart) { - sendcmessage(DefaultRootWindow(dpy), restart_rio, 0L, 1); + sendcmessage(DefaultRootWindow(dpy), restart_rio, 0L, 1, 1); XSync(dpy, False); exit(0); } @@ -398,7 +398,7 @@ timestamp(void) } void -sendcmessage(Window w, Atom a, long x, int isroot) +sendcmessage(Window w, Atom a, long x, int isroot, int usemask) { XEvent ev; int status; @@ -411,8 +411,9 @@ sendcmessage(Window w, Atom a, long x, int isroot) ev.xclient.format = 32; ev.xclient.data.l[0] = x; ev.xclient.data.l[1] = timestamp(); - mask = 0L; - if (isroot) + if (usemask == 0) + mask = 0; + else if (isroot) mask = SubstructureRedirectMask; /* magic! */ else mask = ExposureMask; /* not really correct but so be it */ -- cgit v1.2.3