From b5af7f5e7de0d68df62403c7097302bdaee8aaea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sat, 15 Jun 2024 18:16:33 +0200 Subject: [PATCH] calls-ringer: Don't restart when feedback got ended explicitly If a user e.g. lowers the gobal feedback level we don't want to retrigger the events. Without this calls assumes events ended naturally and restarts the ringing without any events. As that is never ended even subsequent calls don't receive any ringing. Part-of: --- src/calls-ringer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/calls-ringer.c b/src/calls-ringer.c index 61fdc6f..12ba93e 100644 --- a/src/calls-ringer.c +++ b/src/calls-ringer.c @@ -194,7 +194,8 @@ on_feedback_ended (LfbEvent *event, /* When no feedback is available on the system (e.g. no vibration motor or LEDs) * it will get ended immediately on triggering. Changing the target state will * break loop that would otherwise occur. */ - if (lfb_event_get_end_reason (event) == LFB_EVENT_END_REASON_NOT_FOUND) + if (lfb_event_get_end_reason (event) == LFB_EVENT_END_REASON_NOT_FOUND || + lfb_event_get_end_reason (event) == LFB_EVENT_END_REASON_EXPLICIT) self->target_state = CALLS_RING_STATE_INACTIVE; set_ring_state (self, CALLS_RING_STATE_INACTIVE);