]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Allow zero BytesPerRow.
authorToni Wilen <twilen@winuae.net>
Wed, 5 Feb 2025 17:49:34 +0000 (19:49 +0200)
committerToni Wilen <twilen@winuae.net>
Wed, 5 Feb 2025 17:49:34 +0000 (19:49 +0200)
od-win32/picasso96_win.cpp

index 8a7f616e24d9645e6ee682286928559df3f29e7f..63ee9bdfb963296a6402c4ef879e9aaf6cd32075 100644 (file)
@@ -465,13 +465,24 @@ static bool validatecoords2(TrapContext *ctx, struct RenderInfo *ri, uae_u8 RGBF
                return false;
        }
        if (ri) {
+               int bpr = ri->BytesPerRow;
+               if (bpr < 0) {
+                       return false;
+               }
                int bpp = GetBytesPerPixel(RGBFmt);
-               if (X * bpp >= ri->BytesPerRow) {
+               // zero is allowed (repeats same line * height)
+               if (!bpr) {
+                       if (X) {
+                               return false;
+                       }
+                       bpr = Width * bpp;
+               }
+               if (X * bpp >= bpr) {
                        return false;
                }
                uae_u32 X2 = X + Width;
-               if (X2 * bpp > ri->BytesPerRow) {
-                       X2 = ri->BytesPerRow / bpp;
+               if (X2 * bpp > bpr) {
+                       X2 = bpr / bpp;
                        Width = X2 - X;
                        *Widthp = Width;
                }