https://bugs.winehq.org/show_bug.cgi?id=57306
--- Comment #28 from Zeb Figura z.figura12@gmail.com --- (In reply to Christoph Bartoschek from comment #27)
HeidSQL calls the function
BOOL dibdrv_RoundRect( PHYSDEV dev, INT left, INT top, INT right, INT bottom, INT ellipse_width, INT ellipse_height )
with ellipse_width == 0 and ellipse_height == 0, resulting in max_points == 0. Then in get_arc_poitns the empty top_points array is written to.
I guess, either the function has to return early in such a case or one needs to check why the ellipse_width and ellipse_height are both 0 and fix the calling location.
We should probably restore the forward to Rectangle() in this case. Previously it was applied when the width/height was <= 2, but this is incorrect if there is scaling. But forwarding for 0 is still correct.