You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It was noticed while debugging #243 that when NeoForge attempts to show a graphical error message, it often closes out immediately and causes other processes in the tree (such as the launcher, and even sometimes explorer.exe) to become unresponsive to input. This often requires killing other processes to recover the normal operation of Windows.
My guess as to what's causing the problem is that NeoForge attempts to use TinyFileDialogs from a different thread as the OpenGL context (source) and something in the stack doesn't like this.
The text was updated successfully, but these errors were encountered:
Some more thoughts: The error dialog obviously works sometimes, because users see errors about OpenGL context initialization failure. I think specifically what has to happen is the timeout needs to elapse, which creates a situation where the OpenGL driver could still be interacting with GDI while NeoForge is attempting to show the dialog box.
My own experience with this is often related to the dialog being shown in the background without a top-level window icon.
tinyfd is sadly a pretty garbage library, and I believe we cannot actually pass the owning HWND to anchor it to the MC window (in case it was already created).
It was noticed while debugging #243 that when NeoForge attempts to show a graphical error message, it often closes out immediately and causes other processes in the tree (such as the launcher, and even sometimes explorer.exe) to become unresponsive to input. This often requires killing other processes to recover the normal operation of Windows.
My guess as to what's causing the problem is that NeoForge attempts to use TinyFileDialogs from a different thread as the OpenGL context (source) and something in the stack doesn't like this.
The text was updated successfully, but these errors were encountered: