summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2005-08-18 14:23:18 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2005-08-18 14:23:18 +0000
commit670abf99aeb9d78d5c3d7e6706789f5772d96364 (patch)
tree76fdf03afc80a761463fcb5b0456938e90eed4ab /apps
parent9f30e1eefa1bd3861b309ef4c7f6faeb7e76e1ae (diff)
downloadrockbox-670abf99aeb9d78d5c3d7e6706789f5772d96364.tar.gz
rockbox-670abf99aeb9d78d5c3d7e6706789f5772d96364.zip
The shutdown message is now displayed before saving the database, giving better user feedback when whutting off the player
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7351 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/misc.c8
-rw-r--r--apps/misc.h1
2 files changed, 4 insertions, 5 deletions
diff --git a/apps/misc.c b/apps/misc.c
index 9a890155a7..9f2ac366ae 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -340,7 +340,7 @@ bool settings_parseline(char* line, char** name, char** value)
340 return true; 340 return true;
341} 341}
342 342
343bool clean_shutdown(void) 343static bool clean_shutdown(void (*callback)(void *), void *parameter)
344{ 344{
345#ifdef SIMULATOR 345#ifdef SIMULATOR
346 exit(0); 346 exit(0);
@@ -351,6 +351,8 @@ bool clean_shutdown(void)
351 { 351 {
352 lcd_clear_display(); 352 lcd_clear_display();
353 splash(0, true, str(LANG_SHUTTINGDOWN)); 353 splash(0, true, str(LANG_SHUTTINGDOWN));
354 if (callback != NULL)
355 callback(parameter);
354 shutdown_hw(); 356 shutdown_hw();
355 } 357 }
356#endif 358#endif
@@ -425,9 +427,7 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame
425 usb_screen(); 427 usb_screen();
426 return SYS_USB_CONNECTED; 428 return SYS_USB_CONNECTED;
427 case SYS_POWEROFF: 429 case SYS_POWEROFF:
428 if (callback != NULL) 430 if (!clean_shutdown(callback, parameter))
429 callback(parameter);
430 if (!clean_shutdown())
431 return SYS_POWEROFF; 431 return SYS_POWEROFF;
432 break; 432 break;
433#ifdef HAVE_CHARGING 433#ifdef HAVE_CHARGING
diff --git a/apps/misc.h b/apps/misc.h
index 105f65732a..757eee7377 100644
--- a/apps/misc.h
+++ b/apps/misc.h
@@ -41,7 +41,6 @@ void screen_dump(void);
41#endif 41#endif
42 42
43bool settings_parseline(char* line, char** name, char** value); 43bool settings_parseline(char* line, char** name, char** value);
44bool clean_shutdown(void);
45long default_event_handler_ex(long event, void (*callback)(void *), void *parameter); 44long default_event_handler_ex(long event, void (*callback)(void *), void *parameter);
46long default_event_handler(long event); 45long default_event_handler(long event);
47void car_adapter_mode_init(void); 46void car_adapter_mode_init(void);