mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
@@ -13,7 +13,7 @@ namespace UICatalog {
|
||||
private ProgressBar _activityProgressBar;
|
||||
private ProgressBar _pulseProgressBar;
|
||||
private Timer _timer;
|
||||
private object _timeoutToken;
|
||||
private object _timeoutToken = null;
|
||||
|
||||
public override void Setup ()
|
||||
{
|
||||
@@ -59,7 +59,9 @@ namespace UICatalog {
|
||||
{
|
||||
_timer?.Dispose ();
|
||||
_timer = null;
|
||||
Application.MainLoop.RemoveTimeout (_timeoutToken);
|
||||
if (_timeoutToken != null) {
|
||||
Application.MainLoop.RemoveTimeout (_timeoutToken);
|
||||
}
|
||||
base.Dispose (disposing);
|
||||
}
|
||||
|
||||
@@ -81,19 +83,21 @@ namespace UICatalog {
|
||||
_activityProgressBar.Fraction = 0F;
|
||||
_pulseProgressBar.Fraction = 0F;
|
||||
|
||||
_timer = new Timer ((o) => Application.MainLoop.Invoke (() => Pulse ()), null, 0, 10);
|
||||
_timer = new Timer ((o) => Application.MainLoop.Invoke (() => Pulse ()), null, 0, 250);
|
||||
|
||||
// BUGBUG: This timeout does nothing but return true, however it trigger the Application.MainLoop
|
||||
// to run the Action. Without this timeout, the display updates are random,
|
||||
// or triggered by user interaction with the UI. See #155
|
||||
_timeoutToken = Application.MainLoop.AddTimeout (TimeSpan.FromMilliseconds (10), loop => true);
|
||||
//_timeoutToken = Application.MainLoop.AddTimeout (TimeSpan.FromMilliseconds (10), loop => true);
|
||||
}
|
||||
|
||||
private void Stop ()
|
||||
{
|
||||
_timer?.Dispose ();
|
||||
_timer = null;
|
||||
Application.MainLoop.RemoveTimeout (_timeoutToken);
|
||||
if (_timeoutToken != null) {
|
||||
Application.MainLoop.RemoveTimeout (_timeoutToken);
|
||||
}
|
||||
|
||||
_activityProgressBar.Fraction = 1F;
|
||||
_pulseProgressBar.Fraction = 1F;
|
||||
|
||||
Reference in New Issue
Block a user