Index: bootloader/ipod.c =================================================================== --- bootloader/ipod.c (revision 17713) +++ bootloader/ipod.c (arbetskopia) @@ -41,6 +41,7 @@ #include "file.h" #include "common.h" #include "hwcompat.h" +#include "rtc.h" #define XSC(X) #X #define SC(X) XSC(X) @@ -299,7 +300,7 @@ printf("Partition 1: 0x%02x %ld MB", pinfo->type, pinfo->size / 2048); - if (button_was_held || (btn==BUTTON_MENU)) { + if ((button_was_held && !rtc_check_alarm_started(false)) || (btn==BUTTON_MENU)) { /* If either the hold switch was on, or the Menu button was held, then try the Apple firmware */ Index: apps/main.c =================================================================== --- apps/main.c (revision 17713) +++ apps/main.c (arbetskopia) @@ -109,6 +109,10 @@ #include "system-sdl.h" #endif +#ifdef HAVE_RTC_ALARM +#include "rtc.h" +#endif + /*#define AUTOROCK*/ /* define this to check for "autostart.rock" on boot */ const char appsversion[]=APPSVERSION; @@ -499,8 +503,12 @@ if ((button_status() & SETTINGS_RESET) == SETTINGS_RESET) #else /* Reset settings if the hold button is turned on */ +#ifdef HAVE_RTC_ALARM + if (button_hold() && !rtc_check_alarm_started(false)) +#else if (button_hold()) #endif +#endif { gui_syncsplash(HZ*2, str(LANG_RESET_DONE_CLEAR)); settings_reset();