Esme Povirk (@madewokherd) commented about dlls/gdiplus/pen.c:
return NotImplemented; }
-GpStatus WINGDIPAPI GdipSetPenCompoundArray(GpPen *pen, GDIPCONST REAL *dash, +GpStatus WINGDIPAPI GdipSetPenCompoundArray(GpPen *pen, GDIPCONST REAL *compoundarray, INT count) { - FIXME("(%p, %p, %i): stub\n", pen, dash, count); + REAL previousValue; + TRACE("(%p, %p, %i)\n", pen, compoundarray, count);
- if (!pen || !dash || count < 2 || count%2 == 1) + if(!pen || !compoundarray || count < 2 || count%2 == 1 || *compoundarray < 0.0 || *compoundarray > 1.0) return InvalidParameter; + previousValue = *compoundarray;
This is more complicated than accessing compoundarray[i-1] in the loop. I think it makes the code harder to read. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1164#note_12393