Reset synchronization context on Application.Shutdown()

- Fixes https://github.com/migueldeicaza/gui.cs/issues/1084

Reset synchronization context to allow the user to run async/await, as the main loop has been ended, the synchronization context from gui.cs does no longer process any callbacks.
This commit is contained in:
Angelo Breuer
2021-01-13 16:24:12 +01:00
parent cbbce244dc
commit 4bbc2fc22d

View File

@@ -540,6 +540,12 @@ namespace Terminal.Gui {
Driver?.End ();
Driver = null;
_initialized = false;
// Reset synchronization context to allow the user to run async/await,
// as the main loop has been ended, the synchronization context from
// gui.cs does no longer process any callbacks. See #1084 for more details:
// (https://github.com/migueldeicaza/gui.cs/issues/1084).
SynchronizationContext.SetSynchronizationContext (syncContext: null);
}
static void Redraw (View view)