summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Leonhardt <sebastian.leonhardt@web.de>2019-06-25 22:32:39 +0200
committerSebastian Leonhardt <sebastian.leonhardt@web.de>2019-06-27 14:19:05 +0200
commit3e504c3dcd16ec93fb70b10c4f5a361633d7a77b (patch)
treeb39a57140b94fa8954c1dcdf8f7a564ffe01ecad
parent7b118eccac021934f7731396767dd0b50320acc6 (diff)
downloadrockbox-3e504c3.tar.gz
rockbox-3e504c3.tar.bz2
rockbox-3e504c3.zip
Fix reversal of "always/never" in "LCD setting > Sleep (After Backlight Off)"
The bug was introduced in a06d9c8. The patch also fixes some (more or less) related obsolete comments. Change-Id: I5e491d64574c37cdbc46b146d7cfc555d86b9a11
-rw-r--r--apps/settings.h12
-rw-r--r--firmware/backlight.c13
2 files changed, 14 insertions, 11 deletions
diff --git a/apps/settings.h b/apps/settings.h
index ee67a1734f..fc82c8bf45 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -668,9 +668,8 @@ struct user_settings
#endif
unsigned char kbd_file[MAX_FILENAME+1]; /* last keyboard */
#endif /* HAVE_LCD_BITMAP */
- int backlight_timeout; /* backlight off timeout: 0-18 0=never,
- 1=always,
- then according to timeout_values[] */
+ int backlight_timeout; /* backlight off timeout: -1=never,
+ 0=always, or time in seconds */
bool caption_backlight; /* turn on backlight at end and start of track */
bool bl_filter_first_keypress; /* filter first keypress when dark? */
#if CONFIG_CHARGING
@@ -689,7 +688,8 @@ struct user_settings
#endif
#ifdef HAVE_LCD_SLEEP_SETTING
int lcd_sleep_after_backlight_off; /* when to put lcd to sleep after backlight
- has turned off */
+ has turned off: -1=never, 0=always,
+ or time in seconds */
#endif
#endif /* HAVE_BACKLIGHT */
@@ -707,8 +707,8 @@ struct user_settings
#ifdef HAVE_REMOTE_LCD
/* remote lcd */
int remote_contrast; /* lcd contrast: 0-63 0=low 63=high */
- int remote_backlight_timeout; /* backlight off timeout: 0-18 0=never,
- 1=always, then according to timeout_values[] */
+ int remote_backlight_timeout; /* backlight off timeout: -1=never,
+ 0=always, or time in seconds */
int remote_backlight_timeout_plugged;
int remote_scroll_speed; /* long texts scrolling speed: 1-30 */
int remote_scroll_delay; /* delay (in 1/10s) before starting scroll */
diff --git a/firmware/backlight.c b/firmware/backlight.c
index caff55ce5e..e8a71af12c 100644
--- a/firmware/backlight.c
+++ b/firmware/backlight.c
@@ -209,15 +209,18 @@ static void backlight_lcd_sleep_countdown(bool start)
}
/* Start LCD sleep countdown */
- if (lcd_sleep_timeout < 0)
+ if (lcd_sleep_timeout <= 0)
{
- lcd_sleep_timer = 0; /* Setting == Always */
- /* Ensure lcd_sleep() is called from backlight_thread() */
+ lcd_sleep_timer = 0;
+ if (lcd_sleep_timeout == 0) /* Setting == Always */
+ {
+ /* Ensure lcd_sleep() is called from backlight_thread() */
#if (CONFIG_BACKLIGHT_FADING == BACKLIGHT_FADING_PWM)
- queue_post(&backlight_queue, LCD_SLEEP, 0);
+ queue_post(&backlight_queue, LCD_SLEEP, 0);
#else
- lcd_sleep();
+ lcd_sleep();
#endif
+ }
}
else
{