diff --git a/lib/gui/bmp.c b/lib/gui/bmp.c index 6bf8cd0..dcf3095 100644 --- a/lib/gui/bmp.c +++ b/lib/gui/bmp.c @@ -78,8 +78,8 @@ image = (char *)bmp + le32_to_cpu(bmp->header.data_offset); image += (img->height - y - 1) * img->width * (bits_per_pixel >> 3); - adr = buf + ((y + starty) * sc->s.width + startx) * - (sc->info.bits_per_pixel >> 3); + adr = buf + (y + starty) * sc->info.line_length + + startx * (sc->info.bits_per_pixel >> 3); for (x = 0; x < width; x++) { int pixel; @@ -100,8 +100,8 @@ image = (char *)bmp + le32_to_cpu(bmp->header.data_offset); image += (img->height - y - 1) * img->width * (bits_per_pixel >> 3); - adr = buf + ((y + starty) * sc->s.width + startx) * - (sc->info.bits_per_pixel >> 3); + adr = buf + (y + starty) * sc->info.line_length + + startx * (sc->info.bits_per_pixel >> 3); for (x = 0; x < width; x++) { char *pixel;