From f47443f283f8d2d6ffa669b1d6d15540bbfdef2a Mon Sep 17 00:00:00 2001 From: Alessandro Simovic Date: Tue, 23 Jan 2018 09:21:07 +0100 Subject: [PATCH] libtunes: (bugfix) sending a custom msg tune overrides everything Custom msg tune can override any tune playing, regardless of the tune_override flag. --- src/lib/tunes/tunes.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lib/tunes/tunes.cpp b/src/lib/tunes/tunes.cpp index 1bacaa696c..643ec41d5b 100644 --- a/src/lib/tunes/tunes.cpp +++ b/src/lib/tunes/tunes.cpp @@ -92,10 +92,13 @@ int Tunes::set_control(const tune_control_s &tune_control) if (tune_control.tune_id < _default_tunes_size) { switch (tune_control.tune_id) { case static_cast(TuneID::CUSTOM): - _frequency = (unsigned)tune_control.frequency; - _duration = (unsigned)tune_control.duration; - _silence = (unsigned)tune_control.silence; - _using_custom_msg = true; + if (_tune == nullptr || tune_control.tune_override) { + _frequency = (unsigned)tune_control.frequency; + _duration = (unsigned)tune_control.duration; + _silence = (unsigned)tune_control.silence; + _using_custom_msg = true; + } + break; // tunes that have a high priority