summaryrefslogtreecommitdiff
path: root/apps/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menu.c')
-rw-r--r--apps/menu.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/apps/menu.c b/apps/menu.c
index 4b871bb293..67a1620a12 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -260,7 +260,12 @@ Menu menu_run(int m)
260 are gonna clear the screen anyway */ 260 are gonna clear the screen anyway */
261 lcd_clear_display(); 261 lcd_clear_display();
262 262
263 menus[m].items[menus[m].cursor].function(); 263 /* if a child returns that the contents is changed, we
264 must remember this, even if we perhaps invoke other
265 children too before returning back */
266 if(MENU_DISK_CHANGED ==
267 menus[m].items[menus[m].cursor].function())
268 result = MENU_DISK_CHANGED;
264 269
265 /* Return to previous display state */ 270 /* Return to previous display state */
266 menu_draw(m); 271 menu_draw(m);
@@ -293,12 +298,12 @@ Menu menu_run(int m)
293#endif 298#endif
294 usb_acknowledge(SYS_USB_CONNECTED_ACK); 299 usb_acknowledge(SYS_USB_CONNECTED_ACK);
295 usb_wait_for_disconnect(&button_queue); 300 usb_wait_for_disconnect(&button_queue);
296 menu_draw(m);
297#ifdef HAVE_LCD_BITMAP 301#ifdef HAVE_LCD_BITMAP
298 statusbar(laststate); 302 statusbar(laststate);
299#else 303#else
300 lcd_icon(ICON_PARAM, true); 304 lcd_icon(ICON_PARAM, true);
301#endif 305#endif
306 menu_draw(m);
302 result = MENU_DISK_CHANGED; 307 result = MENU_DISK_CHANGED;
303 break; 308 break;
304#endif 309#endif