summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 7c3ccc2..24fc4ea 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)
ptr = (fb_data*)&lcd_framebuffer[y][x];
+
+ height = ymax - y - 1; /* fix height */
+
do
{
lcd_write_data(ptr, width);
ptr += LCD_WIDTH;
}
- while (++y <= ymax);
+ while (--height > 0);
lcd_busy = false;
} /* 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 21ecdf8..c22382f 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)
ptr = &lcd_framebuffer[y][x];
+ height = ymax - y - 1; /* fix height */
do
{
lcd_write_data(ptr, width);
ptr += LCD_WIDTH;
}
- while (++y <= ymax);
+ while (--height > 0);
lcd_busy = false;
}