diff options
Diffstat (limited to 'apps/main_menu.c')
-rw-r--r-- | apps/main_menu.c | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/apps/main_menu.c b/apps/main_menu.c index 04527f9329..4348d52f9e 100644 --- a/apps/main_menu.c +++ b/apps/main_menu.c | |||
@@ -285,9 +285,31 @@ static bool custom_theme_browse(void) | |||
285 | 285 | ||
286 | #ifdef HAVE_RECORDING | 286 | #ifdef HAVE_RECORDING |
287 | 287 | ||
288 | static bool rec_menu_recording_screen(void) | ||
289 | { | ||
290 | return recording_screen(false); | ||
291 | } | ||
292 | |||
288 | static bool recording_settings(void) | 293 | static bool recording_settings(void) |
289 | { | 294 | { |
290 | return recording_menu(false); | 295 | bool ret; |
296 | #ifdef HAVE_FMRADIO_IN | ||
297 | int rec_source = global_settings.rec_source; | ||
298 | #endif | ||
299 | |||
300 | ret = recording_menu(false); | ||
301 | |||
302 | #ifdef HAVE_FMRADIO_IN | ||
303 | if (rec_source != global_settings.rec_source) | ||
304 | { | ||
305 | if (rec_source == AUDIO_SRC_FMRADIO) | ||
306 | radio_stop(); | ||
307 | /* If AUDIO_SRC_FMRADIO was selected from something else, | ||
308 | the recording screen will start the radio */ | ||
309 | } | ||
310 | #endif | ||
311 | |||
312 | return ret; | ||
291 | } | 313 | } |
292 | 314 | ||
293 | bool rec_menu(void) | 315 | bool rec_menu(void) |
@@ -297,7 +319,7 @@ bool rec_menu(void) | |||
297 | 319 | ||
298 | /* recording menu */ | 320 | /* recording menu */ |
299 | static const struct menu_item items[] = { | 321 | static const struct menu_item items[] = { |
300 | { ID2P(LANG_RECORDING_MENU), recording_screen }, | 322 | { ID2P(LANG_RECORDING_MENU), rec_menu_recording_screen }, |
301 | { ID2P(LANG_RECORDING_SETTINGS), recording_settings}, | 323 | { ID2P(LANG_RECORDING_SETTINGS), recording_settings}, |
302 | }; | 324 | }; |
303 | 325 | ||