diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2005-08-18 14:23:18 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2005-08-18 14:23:18 +0000 |
commit | 670abf99aeb9d78d5c3d7e6706789f5772d96364 (patch) | |
tree | 76fdf03afc80a761463fcb5b0456938e90eed4ab | |
parent | 9f30e1eefa1bd3861b309ef4c7f6faeb7e76e1ae (diff) | |
download | rockbox-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
-rw-r--r-- | apps/misc.c | 8 | ||||
-rw-r--r-- | apps/misc.h | 1 |
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 | ||
343 | bool clean_shutdown(void) | 343 | static 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 | ||
43 | bool settings_parseline(char* line, char** name, char** value); | 43 | bool settings_parseline(char* line, char** name, char** value); |
44 | bool clean_shutdown(void); | ||
45 | long default_event_handler_ex(long event, void (*callback)(void *), void *parameter); | 44 | long default_event_handler_ex(long event, void (*callback)(void *), void *parameter); |
46 | long default_event_handler(long event); | 45 | long default_event_handler(long event); |
47 | void car_adapter_mode_init(void); | 46 | void car_adapter_mode_init(void); |