From 36e099fc93b3caf87e7f390a732fcec69373de8c Mon Sep 17 00:00:00 2001 From: Consolatis <35009135+Consolatis@users.noreply.github.com> Date: Wed, 13 Nov 2024 14:24:07 +0100 Subject: [PATCH] view: ensure output is usable before setting adaptive sync Fixes #2337 --- src/output.c | 2 ++ src/view.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/src/output.c b/src/output.c index e217a8a3..0ab1d28d 100644 --- a/src/output.c +++ b/src/output.c @@ -1048,6 +1048,8 @@ handle_output_power_manager_set_mode(struct wl_listener *listener, void *data) void output_enable_adaptive_sync(struct output *output, bool enabled) { + assert(output_is_usable(output)); + wlr_output_state_set_adaptive_sync_enabled(&output->pending, enabled); if (!wlr_output_test_state(output->wlr_output, &output->pending)) { wlr_output_state_set_adaptive_sync_enabled(&output->pending, false); diff --git a/src/view.c b/src/view.c index c8ff0275..d64fddad 100644 --- a/src/view.c +++ b/src/view.c @@ -454,6 +454,9 @@ view_discover_output(struct view *view, struct wlr_box *geometry) static void set_adaptive_sync_fullscreen(struct view *view) { + if (!output_is_usable(view->output)) { + return; + } if (rc.adaptive_sync != LAB_ADAPTIVE_SYNC_FULLSCREEN) { return; }