diff options
Diffstat (limited to 'firmware/target/arm/ipod')
-rw-r--r-- | firmware/target/arm/ipod/lcd-gray.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/firmware/target/arm/ipod/lcd-gray.c b/firmware/target/arm/ipod/lcd-gray.c index d8695cdb10..883897b997 100644 --- a/firmware/target/arm/ipod/lcd-gray.c +++ b/firmware/target/arm/ipod/lcd-gray.c | |||
@@ -333,17 +333,18 @@ void lcd_update_rect(int x, int y, int width, int height) | |||
333 | x >>= 3; | 333 | x >>= 3; |
334 | width = xmax - x + 1; | 334 | width = xmax - x + 1; |
335 | 335 | ||
336 | for (; y <= ymax; y++) | 336 | void* (*fbaddr)(int x, int y) = FB_CURRENTVP_BUFFER->get_address_fn; |
337 | for (; y <= ymax; y++) | ||
337 | { | 338 | { |
338 | lcd_cmd_and_data(R_RAM_ADDR_SET, (y << 5) + addr_offset - x); | 339 | lcd_cmd_and_data(R_RAM_ADDR_SET, (y << 5) + addr_offset - x); |
339 | lcd_prepare_cmd(R_RAM_DATA); | 340 | lcd_prepare_cmd(R_RAM_DATA); |
340 | 341 | fb_data *data = fbaddr(2*x,y); | |
341 | #if defined(IPOD_MINI) || defined(IPOD_MINI2G) | 342 | #if defined(IPOD_MINI) || defined(IPOD_MINI2G) |
342 | if (pix_offset == -2) | 343 | if (pix_offset == -2) |
343 | lcd_write_data_shifted(FBADDR(2*x, y), width); | 344 | lcd_write_data_shifted(data, width); |
344 | else | 345 | else |
345 | #endif | 346 | #endif |
346 | lcd_write_data(FBADDR(2*x, y), width); | 347 | lcd_write_data(data, width); |
347 | } | 348 | } |
348 | } | 349 | } |
349 | 350 | ||