summaryrefslogtreecommitdiff
path: root/firmware/drivers/lcd-16bit-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/lcd-16bit-common.c')
-rw-r--r--firmware/drivers/lcd-16bit-common.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/drivers/lcd-16bit-common.c b/firmware/drivers/lcd-16bit-common.c
index 7c766dab8a..49e515f59f 100644
--- a/firmware/drivers/lcd-16bit-common.c
+++ b/firmware/drivers/lcd-16bit-common.c
@@ -81,11 +81,12 @@ void lcd_clear_viewport(void)
81 } 81 }
82 else 82 else
83 { 83 {
84 if (!lcd_backdrop) 84 if (lcd_backdrop && lcd_current_viewport->buffer == &lcd_framebuffer_default)
85 { 85 {
86 do 86 do
87 { 87 {
88 memset16(dst, lcd_current_viewport->bg_pattern, len); 88 memcpy(dst, PTR_ADD(dst, lcd_backdrop_offset),
89 len * sizeof(fb_data));
89 dst += step; 90 dst += step;
90 } 91 }
91 while (dst <= dst_end); 92 while (dst <= dst_end);
@@ -94,8 +95,7 @@ void lcd_clear_viewport(void)
94 { 95 {
95 do 96 do
96 { 97 {
97 memcpy(dst, PTR_ADD(dst, lcd_backdrop_offset), 98 memset16(dst, lcd_current_viewport->bg_pattern, len);
98 len * sizeof(fb_data));
99 dst += step; 99 dst += step;
100 } 100 }
101 while (dst <= dst_end); 101 while (dst <= dst_end);