diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2003-10-17 14:05:32 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2003-10-17 14:05:32 +0000 |
| commit | 3953211531b382ad23b82f35223c0ca82ed9814f (patch) | |
| tree | 807f8882c9eaa7c9fe04b9d9feef6256991e543c /firmware | |
| parent | fb067481a8d2ec5c890fab5860ab246d019eecc9 (diff) | |
| download | rockbox-3953211531b382ad23b82f35223c0ca82ed9814f.zip rockbox-3953211531b382ad23b82f35223c0ca82ed9814f.tar.gz rockbox-3953211531b382ad23b82f35223c0ca82ed9814f.tar.bz2 rockbox-3953211531b382ad23b82f35223c0ca82ed9814f.tar.xz | |
Fixes sleep timer when connected to charger (patch #769591 by Henrik Backe)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3975 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
| -rw-r--r-- | firmware/powermgmt.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c index e4cdcde..21ccddf 100644 --- a/firmware/powermgmt.c +++ b/firmware/powermgmt.c @@ -306,25 +306,35 @@ static void handle_auto_poweroff(void) #endif !usb_inserted() && (mpeg_stat == 0 || - mpeg_stat == (MPEG_STATUS_PLAY | MPEG_STATUS_PAUSE))) + (mpeg_stat == (MPEG_STATUS_PLAY | MPEG_STATUS_PAUSE)) && + !sleeptimer_active)) { if(TIME_AFTER(current_tick, last_keypress + timeout) && - TIME_AFTER(current_tick, last_disk_activity + timeout) && - TIME_AFTER(current_tick, last_charge_time + timeout)) - power_off(); + TIME_AFTER(current_tick, last_disk_activity + timeout)) + { + if (mpeg_stat == (MPEG_STATUS_PLAY | MPEG_STATUS_PAUSE)) + { + mpeg_stop(); + } + + if (TIME_AFTER(current_tick, last_charge_time + timeout)) + { + power_off(); + } + } } else { /* Handle sleeptimer */ - if(sleeptimer_endtick && - !usb_inserted()) + if(sleeptimer_active && !usb_inserted()) { if(TIME_AFTER(current_tick, sleeptimer_endtick)) { + mpeg_stop(); if(charger_is_inserted) { DEBUGF("Sleep timer timeout. Stopping...\n"); - mpeg_stop(); + set_sleep_timer(0); } else { |