Closed Aldarrion closed 4 months ago
What's the impact of the issue you are fixing here?
If the linker decides to link in a way where the mgr is constructed first we don't have correct achievement data. It does not happen in your pre-build binaries but when I've built locally on Windows/Debug it happened to me. Opening global settings asserted on missing achievement and crashed.
It does not happen in your pre-build binaries
Ok, so no new release is needed.
Yes, fortunately not :) But it will prevent potential issues in future releases.
Both the achievement manager and the achievement data were globals in separate compilation units. Order of initialization is not defined in that case which sometimes caused the mgr to load uninitialized data and crash when an achievement should have been achieved but was not found.