event: do delayed window mapping

This remove the only case where map_win_start is called outside of the
X critical section.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
Yuxuan Shui
2019-09-20 02:15:41 +01:00
parent 9f3d3f2fba
commit 39a609acb0
3 changed files with 6 additions and 1 deletions

View File

@@ -1272,6 +1272,9 @@ static void handle_new_windows(session_t *ps) {
}
auto mw = (struct managed_win *)new_w;
if (mw->a.map_state == XCB_MAP_STATE_VIEWABLE) {
// Have to map immediately instead of queue window update
// because we need the window's extent right now.
// We can do this because we are in the critical section.
map_win_start(ps, mw);
// This window might be damaged before we called fill_win