From 707c63c6f979ac91c8cb120d7c681bfc4fc5278f Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Wed, 15 Mar 2023 01:45:48 +0100 Subject: [PATCH] win32: Fix rowstride math --- gdk/win32/gdkcursor-win32.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gdk/win32/gdkcursor-win32.c b/gdk/win32/gdkcursor-win32.c index dc707d5674..5d388d04b2 100644 --- a/gdk/win32/gdkcursor-win32.c +++ b/gdk/win32/gdkcursor-win32.c @@ -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; } }