diff options
| author | Furkan Sahin <furkan-dev@proton.me> | 2025-04-29 13:39:00 +0200 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2025-04-29 13:39:00 +0200 |
| commit | 9e558d196c73bed81cc0630ff86156dd3203b273 (patch) | |
| tree | 5777ca31d8f511b55ad0c03f62bdcb774cc13002 | |
| parent | 6dd538fc5d6d963387b8262c51467e78147b91bd (diff) | |
config/output: Fix missing output config supersedes
color_transform and allow_tearing was not handled by
supersede_output_config which could lead to configuration being
incorrectly applied.
(cherry picked from commit a95eb37c0ee20d95bbd3e55dbba486af9231184b)
| -rw-r--r-- | sway/config/output.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sway/config/output.c b/sway/config/output.c index e061e25b..df80cab6 100644 --- a/sway/config/output.c +++ b/sway/config/output.c @@ -129,6 +129,13 @@ static void supersede_output_config(struct output_config *dst, struct output_con if (src->render_bit_depth != RENDER_BIT_DEPTH_DEFAULT) { dst->render_bit_depth = RENDER_BIT_DEPTH_DEFAULT; } + if (src->set_color_transform) { + if (dst->color_transform) { + wlr_color_transform_unref(dst->color_transform); + dst->color_transform = NULL; + } + dst->set_color_transform = false; + } if (src->background) { free(dst->background); dst->background = NULL; @@ -144,6 +151,9 @@ static void supersede_output_config(struct output_config *dst, struct output_con if (src->power != -1) { dst->power = -1; } + if (src->allow_tearing != -1) { + dst->allow_tearing = -1; + } } // merge_output_config sets all fields in dst that were set in src |
