From dd45bafa53e5ab7c20bdb25000674facf624365a Mon Sep 17 00:00:00 2001 From: Madhu Date: Sat, 19 Oct 2024 20:05:55 +0530 Subject: [PATCH] src/output.c: (output_frame_notify): skip painting output when session is not active. On switching to a console vt when an application is painting, labwc produces a stream of log messages of the form ``` `00:00:52.345 [ERROR] [../src/output-state.c:45] Failed to commit frame` lines. `` This patch tries to follow the lead from the solution to this problem in https://github.com/WayfireWM/wayfire/pull/2484.patch As noted in that commit message, this patch depends on unreleased patches to seatd (master) to work reliably, and there may be a a risk of locking up the labwc if it is used with the seatd-0.8.0. Check that the session is initialized (is not NULL) before checking it is active. --- src/output.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/output.c b/src/output.c index 58743e31..75ac2b5d 100644 --- a/src/output.c +++ b/src/output.c @@ -128,6 +128,13 @@ output_frame_notify(struct wl_listener *listener, void *data) return; } + /* + * skip painting the session when it exists but is not active. + */ + if (output->server->session && !output->server->session->active) { + return; + } + if (!output->scene_output) { /* * TODO: This is a short term fix for issue #1667,