]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: add a sync call to i3bar to confirm reparents before exiting
authorMichael Stapelberg <michael@stapelberg.de>
Thu, 24 Jul 2014 08:09:53 +0000 (10:09 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Thu, 24 Jul 2014 08:09:53 +0000 (10:09 +0200)
Without this call, sometimes the tray icon windows are reparented into
i3’s container around the i3bar window, i.e. into the next remaining
window in the window hierarchy. Since i3 then closes that container
(since the i3bar window itself was closed), the tray window will also
get closed. In general, this weird interaction (getting reparented and
then closed) is not well received by tray icon providers :).

closes: #1296

i3bar/src/xcb.c

index a29f90945cc3c09d8bc49962653b323383392643..2d33919e785ab28318e97142d0362a2940084b7f 100644 (file)
@@ -1290,6 +1290,7 @@ void clean_xcb(void) {
     FREE(outputs);
 
     xcb_flush(xcb_connection);
+    xcb_aux_sync(xcb_connection);
     xcb_disconnect(xcb_connection);
 
     ev_check_stop(main_loop, xcb_chk);