summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c5
-rw-r--r--firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c3
2 files changed, 6 insertions, 2 deletions
diff --git a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
index 7c3ccc2c0b..24fc4eae57 100644
--- a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
+++ b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c
@@ -556,12 +556,15 @@ void lcd_update_rect(int x, int y, int width, int height)
556 556
557 ptr = (fb_data*)&lcd_framebuffer[y][x]; 557 ptr = (fb_data*)&lcd_framebuffer[y][x];
558 558
559
560 height = ymax - y - 1; /* fix height */
561
559 do 562 do
560 { 563 {
561 lcd_write_data(ptr, width); 564 lcd_write_data(ptr, width);
562 ptr += LCD_WIDTH; 565 ptr += LCD_WIDTH;
563 } 566 }
564 while (++y <= ymax); 567 while (--height > 0);
565 568
566 lcd_busy = false; 569 lcd_busy = false;
567} /* lcd_update_rect */ 570} /* lcd_update_rect */
diff --git a/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c b/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c
index 21ecdf8afa..c22382f19c 100644
--- a/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c
+++ b/firmware/target/arm/as3525/sansa-fuze/lcd-fuze.c
@@ -405,12 +405,13 @@ void lcd_update_rect(int x, int y, int width, int height)
405 405
406 ptr = &lcd_framebuffer[y][x]; 406 ptr = &lcd_framebuffer[y][x];
407 407
408 height = ymax - y - 1; /* fix height */
408 do 409 do
409 { 410 {
410 lcd_write_data(ptr, width); 411 lcd_write_data(ptr, width);
411 ptr += LCD_WIDTH; 412 ptr += LCD_WIDTH;
412 } 413 }
413 while (++y <= ymax); 414 while (--height > 0);
414 lcd_busy = false; 415 lcd_busy = false;
415} 416}
416 417