core: re-run paint_preprocess after redirecting
paint_preprocess calls redir_start if it decides to redirect the screen. redir_start might change the state of the windows. For example, when the image of the window fails to bind, redir_start sets the error flag. And those state changes might exclude the window from being rendered. Thus, paint_preprocess should be re-run to make sure the new states are honoured. Fixes a crash when window images fail to bind after redirecting. Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
This commit is contained in:
@ -196,7 +196,7 @@ _win_bind_image(session_t *ps, win *w, void **win_image, void **shadow_image) {
|
||||
auto e = xcb_request_check(
|
||||
ps->c, xcb_composite_name_window_pixmap_checked(ps->c, w->id, pixmap));
|
||||
if (e) {
|
||||
log_error("Failed to get named pixmap");
|
||||
log_error("Failed to get named pixmap for window %#010x(%s)", w->id, w->name);
|
||||
free(e);
|
||||
return false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user