]> git.sur5r.net Git - i3/i3/commit
Bugfix: Eliminate race condition, fix dock windows
authorMichael Stapelberg <michael+x200@stapelberg.de>
Tue, 10 Mar 2009 19:56:25 +0000 (20:56 +0100)
committerMichael Stapelberg <michael+x200@stapelberg.de>
Tue, 10 Mar 2009 19:56:25 +0000 (20:56 +0100)
commit408b2bdb3962a6cc77635e342c5e9a41e6fc4bf7
treeb540ca0dcae886584aa4b16684e04edd7fc44416
parent434345aa304f2820be28c6e04f23bf029c7973fb
Bugfix: Eliminate race condition, fix dock windows

There was a race condition when mapping a window and not setting the event mask
before. Therefore, the ReparentNotify and (more important) the UnmapNotify generated
by reparenting were not received, thus leaving the awaiting_useless_unmap variable
of the client "true". To just make it work, in previous commits the DestroyNotify
handler was introduced. Fortunately, with fixing this race condition by first
setting the event mask and mapping the window afterwards, we can remove this handler.

As for the dock windows, there were quite some occurences were client->container
was used without checking if the client is inside a container at all.

Furthermore, the client’s strut containing the space to reserve at the screen edge
is now checked and the desired height is set to the window’s height if the strut
contains 0 or if no strut was specified at all.
include/data.h
include/handlers.h
src/handlers.c
src/layout.c
src/mainx.c
src/util.c