diff options
-rw-r--r-- | firmware/drivers/lcd-ipodvideo.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/firmware/drivers/lcd-ipodvideo.c b/firmware/drivers/lcd-ipodvideo.c index 62d097ea72..066616959e 100644 --- a/firmware/drivers/lcd-ipodvideo.c +++ b/firmware/drivers/lcd-ipodvideo.c | |||
@@ -181,18 +181,18 @@ void lcd_update_rect(int x, int y, int width, int height) | |||
181 | while ((inw(0x30030000) & 0x2) == 0); | 181 | while ((inw(0x30030000) & 0x2) == 0); |
182 | 182 | ||
183 | { | 183 | { |
184 | int r; | ||
185 | int line_size = (LCD_WIDTH - width); | ||
186 | unsigned short *src = (unsigned short*)&lcd_framebuffer[y][x]; | 184 | unsigned short *src = (unsigned short*)&lcd_framebuffer[y][x]; |
187 | for (r = 0; r < height; r++) { | 185 | unsigned short *end = &src[LCD_WIDTH * height]; |
186 | int line_rem = (LCD_WIDTH - width); | ||
187 | while (src < end) { | ||
188 | /* for each column */ | 188 | /* for each column */ |
189 | unsigned short *end = src + width; | 189 | unsigned short *end_line = src + width; |
190 | while (src < end) { | 190 | while (src < end_line) { |
191 | /* write out two pixels */ | 191 | /* write out two pixels */ |
192 | outw(*(src++), 0x30000000); | 192 | outw(*(src++), 0x30000000); |
193 | outw(*(src++), 0x30000000); | 193 | outw(*(src++), 0x30000000); |
194 | } | 194 | } |
195 | src += line_size; | 195 | src += line_rem; |
196 | } | 196 | } |
197 | } | 197 | } |
198 | 198 | ||