summaryrefslogtreecommitdiffstats
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)
return true;
}
-bool clean_shutdown(void)
+static bool clean_shutdown(void (*callback)(void *), void *parameter)
{
#ifdef SIMULATOR
exit(0);
@@ -351,6 +351,8 @@ bool clean_shutdown(void)
{
lcd_clear_display();
splash(0, true, str(LANG_SHUTTINGDOWN));
+ if (callback != NULL)
+ callback(parameter);
shutdown_hw();
}
#endif
@@ -425,9 +427,7 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame
usb_screen();
return SYS_USB_CONNECTED;
case SYS_POWEROFF:
- if (callback != NULL)
- callback(parameter);
- if (!clean_shutdown())
+ if (!clean_shutdown(callback, parameter))
return SYS_POWEROFF;
break;
#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);
#endif
bool settings_parseline(char* line, char** name, char** value);
-bool clean_shutdown(void);
long default_event_handler_ex(long event, void (*callback)(void *), void *parameter);
long default_event_handler(long event);
void car_adapter_mode_init(void);