]> git.mdlowis.com Git - proto/labwc.git/commitdiff
src/output.c: skip painting output when session is not active
authorenometh <57609820+enometh@users.noreply.github.com>
Mon, 11 Nov 2024 23:33:38 +0000 (05:03 +0530)
committerGitHub <noreply@github.com>
Mon, 11 Nov 2024 23:33:38 +0000 (00:33 +0100)
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.

Co-authored-by: Madhu <enometh@net.meer>
src/output.c

index 20e2945855b3ebf2952cef8d6cd25d59247e39c9..e217a8a3c84530de1557fc4ab4f680c3eccdddb1 100644 (file)
@@ -115,6 +115,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,