aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2023-06-26 15:48:01 +0200
committerAlexander Orzechowski <alex@ozal.ski>2023-06-27 16:26:30 +0000
commitc0fd37c4914f779c270ad44d2678ef399ec8c31c (patch)
tree59e2d9786f543096781a64529365f8cf0cd29b55
parent824339938530a3f13c006fa4eefa263a974a3cab (diff)
backend/wayland: unmap when output is disabled
-rw-r--r--backend/wayland/output.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/backend/wayland/output.c b/backend/wayland/output.c
index d147de4e..77e3b07c 100644
--- a/backend/wayland/output.c
+++ b/backend/wayland/output.c
@@ -30,6 +30,7 @@
static const uint32_t SUPPORTED_OUTPUT_STATE =
WLR_OUTPUT_STATE_BACKEND_OPTIONAL |
WLR_OUTPUT_STATE_BUFFER |
+ WLR_OUTPUT_STATE_ENABLED |
WLR_OUTPUT_STATE_MODE |
WLR_OUTPUT_STATE_ADAPTIVE_SYNC_ENABLED;
@@ -491,6 +492,11 @@ static bool output_commit(struct wlr_output *wlr_output,
return false;
}
+ if ((state->committed & WLR_OUTPUT_STATE_ENABLED) && !state->enabled) {
+ wl_surface_attach(output->surface, NULL, 0, 0);
+ wl_surface_commit(output->surface);
+ }
+
if (state->committed & WLR_OUTPUT_STATE_BUFFER) {
const pixman_region32_t *damage = NULL;
if (state->committed & WLR_OUTPUT_STATE_DAMAGE) {