diff --git a/firmware/application/apps/ui_recon.cpp b/firmware/application/apps/ui_recon.cpp index 255b73bb4..e0ba6a97c 100644 --- a/firmware/application/apps/ui_recon.cpp +++ b/firmware/application/apps/ui_recon.cpp @@ -1261,6 +1261,7 @@ size_t ReconView::change_mode(freqman_index_t new_mod) { else v = SPEC_MODULATION; field_mode.set_selected_index(v); + return; // Important ! Guru will occur if you don't return when modifying field from within on_change ! } last_mode = v; change_mode(v); diff --git a/firmware/application/external/level/ui_level.cpp b/firmware/application/external/level/ui_level.cpp index e8034f31d..d5608b6b3 100644 --- a/firmware/application/external/level/ui_level.cpp +++ b/firmware/application/external/level/ui_level.cpp @@ -137,6 +137,7 @@ LevelView::LevelView(NavigationView& nav) else v = SPEC_MODULATION; field_mode.set_selected_index(v); + return; // Important ! Guru will occur if you don't return when modifying field from within on_change ! } last_mode = v; change_mode(v); diff --git a/firmware/application/external/scanner/ui_scanner.cpp b/firmware/application/external/scanner/ui_scanner.cpp index 8d87b6c39..cc116eefe 100644 --- a/firmware/application/external/scanner/ui_scanner.cpp +++ b/firmware/application/external/scanner/ui_scanner.cpp @@ -461,6 +461,7 @@ ScannerView::ScannerView( else v = WFM_MODULATION; field_mode.set_selected_index(v); + return; // Important ! Guru will occur if you don't return when modifying field from within on_change ! } last_mode = v; receiver_model.disable();