better (and more correct) fix
[vuplus_dvbapp] / lib / python / Screens / Screen.py
index 46b94fd..cfcb528 100644 (file)
@@ -22,7 +22,10 @@ class Screen(dict, HTMLSkin, GUISkin):
                self.onHide = [ ]
 
                self.execing = False
-               self.shown = False
+               
+               self.shown = True
+               # already shown is false until the screen is really shown (after creation)
+               self.already_shown = False
 
                self.renderer = [ ]
 
@@ -114,9 +117,10 @@ class Screen(dict, HTMLSkin, GUISkin):
                self.instance.setFocus(o.instance)
 
        def show(self):
-               if self.shown or not self.instance:
+               if (self.shown and self.already_shown) or not self.instance:
                        return
                self.shown = True
+               self.already_shown = True
                self.instance.show()
                for x in self.onShow:
                        x()