From 54fd3d34800a5c25216220c56c75c214f2233c91 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 27 Dec 2012 16:54:54 +0100 Subject: [PATCH] unregister as window manager before restarting (fixes a race condition) --- src/manage.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/manage.c b/src/manage.c index 328858a9..f768ccb5 100644 --- a/src/manage.c +++ b/src/manage.c @@ -64,6 +64,10 @@ void restore_geometry(void) { con->rect.x, con->rect.y); } + /* Strictly speaking, this line doesn’t really belong here, but since we + * are syncing, let’s un-register as a window manager first */ + xcb_change_window_attributes(conn, root, XCB_CW_EVENT_MASK, (uint32_t[]){ XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT }); + /* Make sure our changes reach the X server, we restart/exit now */ xcb_aux_sync(conn); }