nice code
[enigma2.git] / lib / python / Screens / MessageBox.py
index 6c7bdd3c620f5af8cba0b275e6b95deb77b6c342..deea54bae4f6a2e2352434306781b61b50b746cb 100644 (file)
@@ -62,17 +62,18 @@ class MessageBox(Screen):
                        self.timer.timeout.get().append(self.timerTick)
                        self.onExecBegin.append(self.startTimer)
                        self.origTitle = None
-                       try:
-                               if self.instance and self.instance.isVisible():
-                                       self.timerTick()
-                               else:
-                                       self.onShown.append(self.timerTick)
-                       except AttributeError:
-                               self.onShown.append(self.timerTick)
+                       if self.execing:
+                               self.timerTick()
+                       else:
+                               self.onShown.append(self.__onShown)
                        self.timerRunning = True
                else:
                        self.timerRunning = False
 
+       def __onShown(self):
+               self.onShown.remove(self.__onShown)
+               self.timerTick()
+
        def startTimer(self):
                self.timer.start(1000)
 
@@ -80,7 +81,6 @@ class MessageBox(Screen):
                if self.timerRunning:
                        del self.timer
                        self.setTitle(self.origTitle)
-                       self.onShown.remove(self.timerTick)
 
        def timerTick(self):
                if self.execing: