[26.1] Move late stages of mod loading out of the first resource load#3003
Draft
[26.1] Move late stages of mod loading out of the first resource load#3003
Conversation
|
b8a8217 to
035b55c
Compare
035b55c to
f4227df
Compare
Member
Author
|
With FML updated to LWJGL 3.4.1, the Swing/TinyFD-based path of early error reporting works in the moved mod loading stages. However, when the ELS is enabled and the error handling therefore uses its infrastructure then the game segfaults in the Nvidia driver on my system when the ELS theme used by the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This PR moves the second and third stage of mod loading (
CommonModLoader.load()andCommonModLoader.finish()) out of the initial resource reload, instead running it right before the initial reload is set up and executed. This ensures that loading errors in these stages don't cause the resource load to abort, restart in "safe mode" and then crash on completely unrelated follow-up issues, allowing us to instead capture the loading error and terminate immediately through the ELS error screen.Moving these loading stages out of the resource reload allows us to remove the custom
LoadingOverlayand therefore also (at least in theory) the "external GL texture import" extension patches.I'm opening this as a draft for now for two reasons:
DisplayWindow#periodicTick()after the window handover causes a weird lockup where the game seems to start fully (pausing it in the debugger ends up in vanilla GUI renderer code) but the window keeps showing the last ELS frame with the correct last status message and becomes completely unresponsive