Index: bootloader/ipod.c =================================================================== --- bootloader/ipod.c (revisione 23221) +++ bootloader/ipod.c (copia locale) @@ -43,6 +43,7 @@ #include "file.h" #include "common.h" #include "hwcompat.h" +#include "rtc.h" #define XSC(X) #X #define SC(X) XSC(X) @@ -356,7 +357,7 @@ printf("Partition 1: 0x%02x %ld sectors", pinfo->type, pinfo->size); - 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 (revisione 23221) +++ apps/main.c (copia locale) @@ -116,6 +116,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; @@ -532,8 +536,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 { splash(HZ*2, str(LANG_RESET_DONE_CLEAR)); settings_reset();