aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2025-04-29 13:39:00 +0200
committerFurkan Sahin <furkan-dev@proton.me>2025-04-29 13:39:00 +0200
commita95eb37c0ee20d95bbd3e55dbba486af9231184b (patch)
tree5777ca31d8f511b55ad0c03f62bdcb774cc13002
parentd32f664b9b82b30bc6c48cc36d494c1761ccd313 (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.
-rw-r--r--sway/config/output.c10
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