Don't stop fading for window size change
Window size change cause window resource to be released and re-acquired, so it cannot work on unmapped windows. Previously we make sure of that by skipping fading and change if the window is mapped. Now we just make sure that functino is never called with an unmapped window. Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
1005e61553
commit
b92182416c
10
src/win.c
10
src/win.c
|
@ -617,13 +617,13 @@ void win_on_win_size_change(session_t *ps, win *w) {
|
||||||
w->flags |= WFLAG_SIZE_CHANGE;
|
w->flags |= WFLAG_SIZE_CHANGE;
|
||||||
// Invalidate the shadow we built
|
// Invalidate the shadow we built
|
||||||
if (ps->o.experimental_backends) {
|
if (ps->o.experimental_backends) {
|
||||||
win_skip_fading(ps, &w);
|
if (w->state == WSTATE_MAPPED ||
|
||||||
if (!w) {
|
w->state == WSTATE_MAPPING ||
|
||||||
return;
|
w->state == WSTATE_FADING) {
|
||||||
}
|
|
||||||
if (w->state == WSTATE_MAPPED) {
|
|
||||||
backend_list[ps->o.backend]->release_win(ps->backend_data, ps, w, w->win_data);
|
backend_list[ps->o.backend]->release_win(ps->backend_data, ps, w, w->win_data);
|
||||||
w->win_data = backend_list[ps->o.backend]->prepare_win(ps->backend_data, ps, w);
|
w->win_data = backend_list[ps->o.backend]->prepare_win(ps->backend_data, ps, w);
|
||||||
|
} else {
|
||||||
|
assert(false);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
free_paint(ps, &w->shadow_paint);
|
free_paint(ps, &w->shadow_paint);
|
||||||
|
|
Loading…
Reference in New Issue