diff options
Diffstat (limited to 'firmware/drivers')
-rw-r--r-- | firmware/drivers/lcd-16bit.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/firmware/drivers/lcd-16bit.c b/firmware/drivers/lcd-16bit.c index 024386e4e5..b8075b216b 100644 --- a/firmware/drivers/lcd-16bit.c +++ b/firmware/drivers/lcd-16bit.c | |||
@@ -81,10 +81,10 @@ static const char scroll_tick_table[16] = { | |||
81 | /* LCD init */ | 81 | /* LCD init */ |
82 | void lcd_init(void) | 82 | void lcd_init(void) |
83 | { | 83 | { |
84 | lcd_clear_display(); | 84 | lcd_clear_display(); |
85 | 85 | ||
86 | /* Call device specific init */ | 86 | /* Call device specific init */ |
87 | lcd_init_device(); | 87 | lcd_init_device(); |
88 | 88 | ||
89 | 89 | ||
90 | create_thread(scroll_thread, scroll_stack, | 90 | create_thread(scroll_thread, scroll_stack, |
@@ -220,7 +220,7 @@ void lcd_set_backdrop(fb_data* backdrop) | |||
220 | lcd_backdrop_offset = 0; | 220 | lcd_backdrop_offset = 0; |
221 | lcd_fastpixelfuncs = lcd_fastpixelfuncs_bgcolor; | 221 | lcd_fastpixelfuncs = lcd_fastpixelfuncs_bgcolor; |
222 | } | 222 | } |
223 | lcd_device_prepare_backdrop(backdrop); | 223 | lcd_device_prepare_backdrop(backdrop); |
224 | } | 224 | } |
225 | 225 | ||
226 | fb_data* lcd_get_backdrop(void) | 226 | fb_data* lcd_get_backdrop(void) |
@@ -938,6 +938,10 @@ static void scroll_thread(void) | |||
938 | scrolling_lines = 0; | 938 | scrolling_lines = 0; |
939 | 939 | ||
940 | while ( 1 ) { | 940 | while ( 1 ) { |
941 | if(!lcd_enabled()) { | ||
942 | sleep(scroll_ticks); | ||
943 | continue; | ||
944 | } | ||
941 | for ( index = 0; index < SCROLLABLE_LINES; index++ ) { | 945 | for ( index = 0; index < SCROLLABLE_LINES; index++ ) { |
942 | /* really scroll? */ | 946 | /* really scroll? */ |
943 | if ( !(scrolling_lines&(1<<index)) ) | 947 | if ( !(scrolling_lines&(1<<index)) ) |