diff options
author | Daniel Stenberg <daniel@haxx.se> | 2002-08-23 12:57:00 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2002-08-23 12:57:00 +0000 |
commit | 49984facc138bc705fa0ee8d6322ef006ad40f62 (patch) | |
tree | 338a40428ec79e2ef5fb850f1de195c5ed258268 /apps/menu.c | |
parent | d7c85e434bc08dc4c2430a97643c84edc0efa491 (diff) | |
download | rockbox-49984facc138bc705fa0ee8d6322ef006ad40f62.tar.gz rockbox-49984facc138bc705fa0ee8d6322ef006ad40f62.zip |
properly remember DISK_CHANGE status and return that to menu parents,
also when coming back from the USB screen set back the status bar state
before redrawing the menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1953 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/menu.c')
-rw-r--r-- | apps/menu.c | 9 |
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 |