On Saturday, 7 July 2018 at 02:21:31 UTC, solidstate1991 wrote:
I'll upload code tomorrow, but here's the premise:
Sometimes elements disappear from associative arrays, causing
all sorts of errors down the line, mostly access violations.
My engine (PixelPerfectEngine) has a style sheet for its GUI,
which generates basic values upon construction. This works
mostly fine with PixelPerfectEditor, however WindowMaker
crashes instantly when it needs to redraw anything. Both Mago
and VS debugger were bit broken (first exception came from
KernelBase.dll, then it only showed the caller of a getter
function possibly caused the issue), but I managed to get
enough information. The AA containing color indexes
(ushort[string]) couldn't be accessed properly and when I tried
the safe get method on it, a lot of values couldn't be accessed
and later on a dynamic array had issues with access violation.
I'm thinking on going back to 2.080.0 until this bug gets fixed.
I found a temporary workaround. Basically I just save the content
of the AA, then reapply it after the application's constructor
finished, before that it always generated an exception when I
tried to check its content e.g. via printing it to the screen.
The program still crashes when I close it, and it seems like it's
something GC related, which will be extremely hard to reproduce.
I'm going to make a commit soon to Github (maybe even an alpha
release), so people can check it out for themselves.