mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2026-01-01 16:59:35 +01:00
Fix ResetState to properly reset all fields
- Reset EndAfterFirstIteration and ClearScreenNextIteration - Reset Iteration event - Reset _forceFakeConsole field - Reset _supportedCultures field Co-authored-by: tig <585482+tig@users.noreply.github.com>
This commit is contained in:
@@ -6,6 +6,12 @@ public static partial class Application // Driver abstractions
|
||||
{
|
||||
internal static bool _forceFakeConsole;
|
||||
|
||||
// Internal helper method for ApplicationImpl.ResetState to clear this field
|
||||
internal static void ClearForceFakeConsole ()
|
||||
{
|
||||
_forceFakeConsole = false;
|
||||
}
|
||||
|
||||
/// <summary>Gets the <see cref="IConsoleDriver"/> that has been selected. See also <see cref="ForceDriver"/>.</summary>
|
||||
public static IConsoleDriver? Driver
|
||||
{
|
||||
|
||||
@@ -46,6 +46,7 @@ public static partial class Application // Run (Begin -> Run -> Layout/Draw -> E
|
||||
{
|
||||
NotifyNewRunState = null;
|
||||
NotifyStopRunState = null;
|
||||
Iteration = null;
|
||||
}
|
||||
|
||||
/// <summary>Building block API: Prepares the provided <see cref="Toplevel"/> for execution.</summary>
|
||||
|
||||
@@ -633,6 +633,11 @@ public class ApplicationImpl : IApplication
|
||||
_cachedRunStateToplevel = null;
|
||||
|
||||
_mainThreadId = -1;
|
||||
|
||||
// These static properties need to be reset
|
||||
Application.EndAfterFirstIteration = false;
|
||||
Application.ClearScreenNextIteration = false;
|
||||
Application.ClearForceFakeConsole ();
|
||||
|
||||
// Driver stuff
|
||||
if (_driver is { })
|
||||
@@ -664,6 +669,9 @@ public class ApplicationImpl : IApplication
|
||||
|
||||
_navigation = null;
|
||||
|
||||
// Reset SupportedCultures so it's re-cached on next access
|
||||
_supportedCultures = null;
|
||||
|
||||
// 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:
|
||||
|
||||
Reference in New Issue
Block a user