diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2012-01-31 20:03:23 +0100 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2012-02-01 15:02:22 +0100 |
commit | 0f02da208c519c1cd0d3028a61ae6df2d5e7346c (patch) | |
tree | b6204e306c2b4e31b2de948fec8356d07fae8e47 /firmware/target/arm/imx233 | |
parent | ca104755f55d201bce1e8f3a4a8cbc3f1a5074e2 (diff) | |
download | rockbox-0f02da208c519c1cd0d3028a61ae6df2d5e7346c.tar.gz rockbox-0f02da208c519c1cd0d3028a61ae6df2d5e7346c.zip |
fuze+: check rectangle coordinates in lcd_update_rect
Change-Id: I5f23063751d7650b8eefd0f37393498d9a27bd19
Diffstat (limited to 'firmware/target/arm/imx233')
-rw-r--r-- | firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c index c84c29c22d..6ce3e3767f 100644 --- a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c +++ b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c | |||
@@ -501,6 +501,12 @@ void lcd_update_rect(int x, int y, int w, int h) | |||
501 | if(!lcd_on) | 501 | if(!lcd_on) |
502 | return; | 502 | return; |
503 | #endif | 503 | #endif |
504 | /* make sure the rectangle is included in the screen */ | ||
505 | x = MIN(x, LCD_WIDTH); | ||
506 | y = MIN(y, LCD_HEIGHT); | ||
507 | w = MIN(w, LCD_WIDTH - x); | ||
508 | h = MIN(h, LCD_HEIGHT - y); | ||
509 | |||
504 | imx233_lcdif_wait_ready(); | 510 | imx233_lcdif_wait_ready(); |
505 | lcd_write_reg(0x50, x); | 511 | lcd_write_reg(0x50, x); |
506 | lcd_write_reg(0x51, x + w - 1); | 512 | lcd_write_reg(0x51, x + w - 1); |