summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-04-22 22:56:53 +0000
committerDana Jansens <danakj@orodu.net>2007-04-22 22:56:53 +0000
commit7e0d660b8b5dcf5764f43efe8e0d277f4203ba63 (patch)
tree43d51a65d403fef6548134d5a6fd3b05d9d3d535 /openbox
parent806655e78ad73281100448623ebb9280b7f60bbc (diff)
stop listening to events on clients that are being unmanaged before generating new events
Diffstat (limited to 'openbox')
-rw-r--r--openbox/client.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/openbox/client.c b/openbox/client.c
index a65e7400..76db97bc 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -506,6 +506,10 @@ void client_unmanage(ObClient *self)
g_assert(self != NULL);
+ /* we dont want events no more. do this before hiding the frame so we
+ don't generate more events */
+ XSelectInput(ob_display, self->window, NoEventMask);
+
frame_hide(self->frame);
/* sync to send the hide to the server quickly, and to get back the enter
events */
@@ -524,9 +528,6 @@ void client_unmanage(ObClient *self)
/* remove the window from our save set */
XChangeSaveSet(ob_display, self->window, SetModeDelete);
- /* we dont want events no more */
- XSelectInput(ob_display, self->window, NoEventMask);
-
/* update the focus lists */
focus_order_remove(self);