win: move win_update_screen from fill_win into win_process_update_flags

fill_win only sets the pending geometry (aka the shadow geometry) of the
window, we have to wait for it to propagate to the real geometry before
we can update the screen.

Related: #554

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
Yuxuan Shui
2020-12-05 11:08:49 +00:00
parent ef9f09b68a
commit 3c38b36f04

View File

@@ -471,6 +471,8 @@ void win_process_update_flags(session_t *ps, struct managed_win *w) {
// Update window geometry
w->g = w->pending_g;
win_update_screen(ps->xinerama_nscrs, ps->xinerama_scr_regs, w);
}
if (win_check_flags_all(w, WIN_FLAGS_SIZE_STALE)) {
@@ -1556,8 +1558,6 @@ struct win *fill_win(session_t *ps, struct win *w) {
free(g);
win_update_screen(ps->xinerama_nscrs, ps->xinerama_scr_regs, new);
// Create Damage for window (if not Input Only)
new->damage = x_new_id(ps->c);
e = xcb_request_check(