From 0090aec3be17d010a4925a1a651c07e8008d695f Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle Date: Sat, 14 Dec 2019 21:44:10 +1300 Subject: [PATCH] fix RepeatedController a snap update was offered the second time even if it had been offered already --- subiquitycore/controller.py | 5 ++++- subiquitycore/core.py | 7 ++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/subiquitycore/controller.py b/subiquitycore/controller.py index 5e553eb2..439eeea4 100644 --- a/subiquitycore/controller.py +++ b/subiquitycore/controller.py @@ -69,7 +69,10 @@ class BaseController(ABC): @property def showing(self): - return self.app.controllers.cur is self + inst = self.app.controllers.cur + while isinstance(inst, RepeatedController): + inst = inst.orig + return inst is self @abstractmethod def start_ui(self): diff --git a/subiquitycore/core.py b/subiquitycore/core.py index 0b6b5b59..2791d320 100644 --- a/subiquitycore/core.py +++ b/subiquitycore/core.py @@ -298,7 +298,7 @@ class ControllerSet: log.debug("Importing controller: %s", name) klass = getattr(controllers_mod, name+"Controller") if hasattr(self, name): - c = 0 + c = 1 for instance in self.instances: if isinstance(instance, klass): c += 1 @@ -313,10 +313,7 @@ class ControllerSet: def cur(self): if self.out_of_bounds(): return None - inst = self.instances[self.index] - while isinstance(inst, RepeatedController): - inst = inst.orig - return inst + return self.instances[self.index] def out_of_bounds(self): return self.index < 0 or self.index >= len(self.instances)