summaryrefslogtreecommitdiff
path: root/apps/misc.c
diff options
context:
space:
mode:
authorThomas Martitz <kugel@rockbox.org>2009-11-25 22:54:36 +0000
committerThomas Martitz <kugel@rockbox.org>2009-11-25 22:54:36 +0000
commitcfda097394d752fde3b75ec2561ba752cd682e54 (patch)
treee7e8c59e2ae0937b5b50d8c005984d3431a06c00 /apps/misc.c
parent6c62b1bf3d0279c0b1270e897307ae7c45924608 (diff)
downloadrockbox-cfda097394d752fde3b75ec2561ba752cd682e54.zip
rockbox-cfda097394d752fde3b75ec2561ba752cd682e54.tar.gz
rockbox-cfda097394d752fde3b75ec2561ba752cd682e54.tar.bz2
rockbox-cfda097394d752fde3b75ec2561ba752cd682e54.tar.xz
Add HAVE_HOTSWAP_STORAGE_AS_MAIN to detect changed binary after re-inserting the storage on targets that run rockbox from hotswappable storage.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23752 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/misc.c')
-rw-r--r--apps/misc.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/apps/misc.c b/apps/misc.c
index 6677c5f..307592e 100644
--- a/apps/misc.c
+++ b/apps/misc.c
@@ -79,7 +79,8 @@
#include "playback.h"
#ifdef BOOTFILE
-#if !defined(USB_NONE) && !defined(USB_HANDLED_BY_OF)
+#if !defined(USB_NONE) && !defined(USB_HANDLED_BY_OF) \
+ || defined(HAVE_HOTSWAP_STORAGE_AS_MAIN)
#include "rolo.h"
#endif
#endif
@@ -606,6 +607,13 @@ long default_event_handler_ex(long event, void (*callback)(void *), void *parame
audio_resume();
return SYS_CAR_ADAPTER_RESUME;
#endif
+#ifdef HAVE_HOTSWAP_STORAGE_AS_MAIN
+ case SYS_FS_CHANGED:
+ system_flush();
+ check_bootfile(true); /* state gotten in main.c:init() */
+ system_restore();
+ return SYS_FS_CHANGED;
+#endif
#ifdef HAVE_HEADPHONE_DETECTION
case SYS_PHONE_PLUGGED:
unplug_change(true);
@@ -682,7 +690,7 @@ int show_logo( void )
}
#ifdef BOOTFILE
-#if !defined(USB_NONE) && !defined(USB_HANDLED_BY_OF)
+#if !defined(USB_NONE) && !defined(USB_HANDLED_BY_OF) || defined(HAVE_HOTSWAP_STORAGE_AS_MAIN)
/*
memorize/compare details about the BOOTFILE
we don't use dircache because it may not be up to date after