Cleanup two ASAN initialization order issues #2330
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Render pacer
Previously the pacer was a global object initialized on startup, however it accessed timer values even before they had a chance to initialize:
The first commit moves the pacer's construction to when its conf setting is parsed.
Mouse interface objects
Similar to the pacer, previously the mouse interfaces were initialized on startup, however they accessed members of the two mouse state variables (
mouse_info
andmouse_shared
) even before they had a chance to initialize:The second commit moves the interface construction into the mouse interface initialization function.
In both commits, the objects are now managed using
std::unique_ptr
s.