diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2005-09-14 09:07:05 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2005-09-14 09:07:05 +0000 |
commit | 74353a7fe46c5d6973bffb2488f7c8276e088e80 (patch) | |
tree | 807383a9bb7b21b9dcd4850307f2f1ff861a7bc8 /apps/misc.c | |
parent | 7b86bade5963dc47d3368e9a6e4fc002db79159e (diff) | |
download | rockbox-74353a7fe46c5d6973bffb2488f7c8276e088e80.tar.gz rockbox-74353a7fe46c5d6973bffb2488f7c8276e088e80.zip |
The database is now always synched when entering USB mode or shutting down, and not only in the tree browser
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7516 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/misc.c')
-rw-r--r-- | apps/misc.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/apps/misc.c b/apps/misc.c index ddf8d06e7b..d1b5c2274f 100644 --- a/apps/misc.c +++ b/apps/misc.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #ifdef HAVE_MMC | 46 | #ifdef HAVE_MMC |
47 | #include "ata_mmc.h" | 47 | #include "ata_mmc.h" |
48 | #endif | 48 | #endif |
49 | #include "tree.h" | ||
49 | 50 | ||
50 | #ifdef HAVE_LCD_BITMAP | 51 | #ifdef HAVE_LCD_BITMAP |
51 | #include "bmp.h" | 52 | #include "bmp.h" |
@@ -381,6 +382,16 @@ bool settings_parseline(char* line, char** name, char** value) | |||
381 | return true; | 382 | return true; |
382 | } | 383 | } |
383 | 384 | ||
385 | static void system_flush(void) | ||
386 | { | ||
387 | tree_flush(); | ||
388 | } | ||
389 | |||
390 | static void system_restore(void) | ||
391 | { | ||
392 | tree_restore(); | ||
393 | } | ||
394 | |||
384 | static bool clean_shutdown(void (*callback)(void *), void *parameter) | 395 | static bool clean_shutdown(void (*callback)(void *), void *parameter) |
385 | { | 396 | { |
386 | #ifdef SIMULATOR | 397 | #ifdef SIMULATOR |
@@ -396,6 +407,9 @@ static bool clean_shutdown(void (*callback)(void *), void *parameter) | |||
396 | splash(0, true, str(LANG_SHUTTINGDOWN)); | 407 | splash(0, true, str(LANG_SHUTTINGDOWN)); |
397 | if (callback != NULL) | 408 | if (callback != NULL) |
398 | callback(parameter); | 409 | callback(parameter); |
410 | |||
411 | system_flush(); | ||
412 | |||
399 | shutdown_hw(); | 413 | shutdown_hw(); |
400 | } | 414 | } |
401 | #endif | 415 | #endif |
@@ -467,7 +481,11 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame | |||
467 | #ifdef HAVE_MMC | 481 | #ifdef HAVE_MMC |
468 | if (!mmc_touched() || (mmc_remove_request() == SYS_MMC_EXTRACTED)) | 482 | if (!mmc_touched() || (mmc_remove_request() == SYS_MMC_EXTRACTED)) |
469 | #endif | 483 | #endif |
484 | { | ||
485 | system_flush(); | ||
470 | usb_screen(); | 486 | usb_screen(); |
487 | system_restore(); | ||
488 | } | ||
471 | return SYS_USB_CONNECTED; | 489 | return SYS_USB_CONNECTED; |
472 | case SYS_POWEROFF: | 490 | case SYS_POWEROFF: |
473 | if (!clean_shutdown(callback, parameter)) | 491 | if (!clean_shutdown(callback, parameter)) |