stop listening to events on clients that are being unmanaged before generating new events
This commit is contained in:
parent
806655e78a
commit
7e0d660b8b
1 changed files with 4 additions and 3 deletions
|
@ -506,6 +506,10 @@ void client_unmanage(ObClient *self)
|
||||||
|
|
||||||
g_assert(self != NULL);
|
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);
|
frame_hide(self->frame);
|
||||||
/* sync to send the hide to the server quickly, and to get back the enter
|
/* sync to send the hide to the server quickly, and to get back the enter
|
||||||
events */
|
events */
|
||||||
|
@ -524,9 +528,6 @@ void client_unmanage(ObClient *self)
|
||||||
/* remove the window from our save set */
|
/* remove the window from our save set */
|
||||||
XChangeSaveSet(ob_display, self->window, SetModeDelete);
|
XChangeSaveSet(ob_display, self->window, SetModeDelete);
|
||||||
|
|
||||||
/* we dont want events no more */
|
|
||||||
XSelectInput(ob_display, self->window, NoEventMask);
|
|
||||||
|
|
||||||
/* update the focus lists */
|
/* update the focus lists */
|
||||||
focus_order_remove(self);
|
focus_order_remove(self);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue