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:
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user