From af98a750f1afa0035eb447125b5ebcac90c4874d Mon Sep 17 00:00:00 2001 From: Hossein Mehrabi Date: Fri, 8 Jun 2018 01:46:13 +0430 Subject: [PATCH] stop widget's scheduler if the widget disabled after live-reloading --- wtf/scheduler.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/wtf/scheduler.go b/wtf/scheduler.go index b2e7824e..5f0292e7 100644 --- a/wtf/scheduler.go +++ b/wtf/scheduler.go @@ -9,7 +9,7 @@ type Scheduler interface { RefreshInterval() int } -func Schedule(widget Scheduler) { +func Schedule(widget Wtfable) { // Kick off the first refresh and then leave the rest to the timer widget.Refresh() @@ -25,7 +25,12 @@ func Schedule(widget Scheduler) { for { select { case <-tick.C: - widget.Refresh() + if widget.Enabled() { + widget.Refresh() + } else { + tick.Stop() + return + } case <-quit: tick.Stop() return