win32: Fix rowstride math

This commit is contained in:
Benjamin Otte
2023-03-15 01:45:48 +01:00
parent cf332e2efa
commit 707c63c6f9

View File

@@ -1005,7 +1005,8 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon,
} bmi;
HDC hdc;
uint8_t *pixels, *bits;
int rowstride, x, y, w, h;
int x, y, w, h;
gsize rowstride;
if (!GDI_CALL (GetIconInfo, (hicon, &ii)))
return NULL;
@@ -1057,7 +1058,7 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon,
no_alpha = FALSE;
pixels += 4;
}
pixels += (w * 4 - rowstride);
pixels += rowstride - w * 4;
}
/* mask */
@@ -1072,7 +1073,7 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon,
pixels[3] = 255 - bits[(x + y * w) * 4];
pixels += 4;
}
pixels += (w * 4 - rowstride);
pixels += rowstride - w * 4;
}
}
}
@@ -1146,7 +1147,7 @@ gdk_win32_icon_to_pixbuf_libgtk_only (HICON hicon,
xorp++;
}
}
pixels += (w * 4 - rowstride);
pixels += rowstride - w * 4;
}
}