From 56bba3a7f2fb8e8b5ec9dbc7700eeb6fc6413e6f Mon Sep 17 00:00:00 2001 From: Olivier Fourdan <fourdan.olivier@wanadoo.fr> Date: Mon, 10 Jun 2002 12:21:18 +0000 Subject: [PATCH] Grab server when framing/unframing all clients at startup/exit (Old svn revision: 10361) --- src/client.c | 8 +++++++- src/hints.c | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/client.c b/src/client.c index 218413278..8e29268f8 100644 --- a/src/client.c +++ b/src/client.c @@ -1665,15 +1665,18 @@ void clientFrameAll() windows_stack = NULL; client_focus = NULL; + XSync (dpy, 0); + MyXGrabServer(dpy); XQueryTree(dpy, root, &w1, &w2, &wins, &count); for(i = 0; i < count; i++) { XGetWindowAttributes(dpy, wins[i], &attr); - if(!(attr.override_redirect) && (attr.map_state == IsViewable)) + if((!(attr.override_redirect)) && (attr.map_state == IsViewable)) { clientFrame(wins[i]); } } + MyXUngrabServer(dpy); if(wins) { XFree(wins); @@ -1688,6 +1691,8 @@ void clientUnframeAll() DBG("entering clientUnframeAll\n"); + XSync (dpy, 0); + MyXGrabServer(dpy); XQueryTree(dpy, root, &w1, &w2, &wins, &count); for(i = 0; i < count; i++) { @@ -1697,6 +1702,7 @@ void clientUnframeAll() clientUnframe(c, True); } } + MyXUngrabServer(dpy); if(wins) { XFree(wins); diff --git a/src/hints.c b/src/hints.c index 895f0de65..abb55ec0b 100644 --- a/src/hints.c +++ b/src/hints.c @@ -132,7 +132,7 @@ unsigned long getWMState(Display * dpy, Window w) DBG("entering getWmState\n"); - if((XGetWindowProperty(dpy, w, wm_state, 0, 2L, False, wm_state, &real_type, &real_format, &items_read, &items_left, (unsigned char **)&data) == Success) && (items_read)) + if((XGetWindowProperty(dpy, w, wm_state, 0, 3L, False, wm_state, &real_type, &real_format, &items_read, &items_left, (unsigned char **)&data) == Success) && (items_read)) { state = *data; XFree(data); -- GitLab