From 21f9176e5e44261f216a15659461a15b7e4bb2f3 Mon Sep 17 00:00:00 2001
From: Sam Day <me@samcday.com>
Date: Fri, 7 Feb 2025 20:44:13 +0100
Subject: [PATCH] feedback-led: Ensure flash LED is stopped when prefer-flash
 gets disabled

Fixes: #82

Signed-off-by: Sam Day <me@samcday.com>
---
 src/fbd-feedback-led.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/fbd-feedback-led.c b/src/fbd-feedback-led.c
index b713690..71553dd 100644
--- a/src/fbd-feedback-led.c
+++ b/src/fbd-feedback-led.c
@@ -168,7 +168,12 @@ color_string_to_color (const char *color, gboolean prefer_flash, FbdLedRgbColor
 static void
 on_prefer_flash_changed (FbdFeedbackLed *self)
 {
-  self->prefer_flash = g_settings_get_boolean (self->settings, "prefer-flash");
+  gboolean prefer_flash = g_settings_get_boolean (self->settings, "prefer-flash");
+
+  if (self->prefer_flash && !prefer_flash)
+    fbd_feedback_end (FBD_FEEDBACK_BASE (self));
+
+  self->prefer_flash = prefer_flash;
   g_debug ("Prefer flash: %d", self->prefer_flash);
 }
 
-- 
GitLab