Filling closed GDI+/WASM GraphicsPath fills entire screen

Hello, When I fill a GraphicsPath using the Graphics::FillPath method, it
fills the entire screen (or in some cases, fills nothing). I have tried
closing the path, not closing the path, manually connecting the path back to
its starting point, all to no avail. I have ensured no other drawing functions
are occurring and that this geometry works in other environments (the exact
same construction works for a Direct2D implementation of the same rendering
engine). I am drawing the following path:

Gdiplus::GraphicsPath* alt_geo_altitude_arrow = new Gdiplus::GraphicsPath();
alt_geo_altitude_arrow->StartFigure();
alt_geo_altitude_arrow->AddLine(Gdiplus::PointF(407.00f,218.00f), Gdiplus::PointF(415.00f, 210.00f));
alt_geo_altitude_arrow->AddLine(Gdiplus::PointF(415.00f,210.00f), Gdiplus::PointF(434.00f, 210.00f));
alt_geo_altitude_arrow->AddLine(Gdiplus::PointF(434.00f,210.00f), Gdiplus::PointF(442.00f, 202.00f));
alt_geo_altitude_arrow->AddLine(Gdiplus::PointF(442.00f,202.00f), Gdiplus::PointF(460.00f, 202.00f));
alt_geo_altitude_arrow->AddLine(Gdiplus::PointF(460.00f,202.00f), Gdiplus::PointF(460.00f, 235.00f));
alt_geo_altitude_arrow->AddLine(Gdiplus::PointF(460.00f,235.00f), Gdiplus::PointF(442.00f, 235.00f));
alt_geo_altitude_arrow->AddLine(Gdiplus::PointF(442.00f,235.00f), Gdiplus::PointF(434.00f, 227.00f));
alt_geo_altitude_arrow->AddLine(Gdiplus::PointF(434.00f,227.00f), Gdiplus::PointF(415.00f, 227.00f));
alt_geo_altitude_arrow->CloseFigure();

Like this

gfx->FillPath(pfd->solidbrush_magenta, pfd->alt_geo_altitude_arrow);
//I am also drawing the path in a white outline to demonstrate where it _should_ be magenta

And it renders like this:

The
screen should be black with only the inside of the outlined white shape in
magenta.This is using the latest SDK and tools and the simulator up to date.
This is also not the only geometry this happens to, this is just the easiest
to isolate. I look forward to possible solutions and thank you in advance!

I actually found and resolved this in graphics.cpp in WasmGdiPlus. One line
1516, there is a blank line where

nvgBeginPath(graphics->ctx);

should be. Adding this resolves the inability to fill paths. If possible,
please add this by default to future releases. Thanks in advance.

Hello @turbofandude I was about to investigate this. Good finding, this seems
to be the issue and we’ll have a look to fix this on our side. Thank you.
Regards, Sylvain