mirror of https://github.com/yshui/picom.git
event: add damage for reparented windows
See code comments for details. Fixes #1081 Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
parent
617354fb3b
commit
f5abccb29c
10
src/event.c
10
src/event.c
|
@ -353,6 +353,16 @@ static inline void ev_reparent_notify(session_t *ps, xcb_reparent_notify_event_t
|
||||||
if (!ret && w->managed) {
|
if (!ret && w->managed) {
|
||||||
auto mw = (struct managed_win *)w;
|
auto mw = (struct managed_win *)w;
|
||||||
CHECK(win_skip_fading(ps, mw));
|
CHECK(win_skip_fading(ps, mw));
|
||||||
|
// Usually, damage for unmapped windows
|
||||||
|
// are added in `paint_preprocess`, when
|
||||||
|
// a window was painted before and isn't
|
||||||
|
// anymore. But since we are reparenting
|
||||||
|
// the window here, we would lose track
|
||||||
|
// of the `to_paint` information. So we
|
||||||
|
// just add damage here.
|
||||||
|
if (mw->to_paint) {
|
||||||
|
add_damage_from_win(ps, mw);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue