From 54060b4e383efd1e6f29511aa9adde2837df6224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Sat, 1 Mar 2025 23:09:43 +0100 Subject: [PATCH] vibra-pattern: End pending vibra when a new one is triggered This wasn't much of an issue for the DBus API but when using it as event feedback it matters as we might start the new feedback just before the old one ended due to timers being slighlty late. --- src/fbd-feedback-vibra-pattern.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fbd-feedback-vibra-pattern.c b/src/fbd-feedback-vibra-pattern.c index 7361d01..48b5733 100644 --- a/src/fbd-feedback-vibra-pattern.c +++ b/src/fbd-feedback-vibra-pattern.c @@ -192,7 +192,9 @@ fbd_feedback_vibra_pattern_start_vibra (FbdFeedbackVibra *vibra) g_return_if_fail (self->magnitudes); g_return_if_fail (self->durations); g_return_if_fail (self->durations->len == self->magnitudes->len); - g_return_if_fail (self->pos == 0); + + if (self->pos) + fbd_feedback_vibra_pattern_end_vibra (FBD_FEEDBACK_VIBRA (self)); g_debug ("Pattern Vibra: %u elements", self->durations->len);