From 6e15b45a8548265f1302b00630453f14ae4c786a Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 23 Apr 2007 22:10:04 +0000 Subject: [PATCH] consider screens which haven't finished their initialization as shown. this fixes cutlist editor and movieplayer not visible. --- lib/python/Screens/Screen.py | 6 +++--- mytest.py | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/lib/python/Screens/Screen.py b/lib/python/Screens/Screen.py index 46b94fd..a6106e1 100644 --- a/lib/python/Screens/Screen.py +++ b/lib/python/Screens/Screen.py @@ -22,7 +22,7 @@ class Screen(dict, HTMLSkin, GUISkin): self.onHide = [ ] self.execing = False - self.shown = False + self.shown = True self.renderer = [ ] @@ -113,8 +113,8 @@ class Screen(dict, HTMLSkin, GUISkin): def setFocus(self, o): self.instance.setFocus(o.instance) - def show(self): - if self.shown or not self.instance: + def show(self, force = False): + if (self.shown and not force) or not self.instance: return self.shown = True self.instance.show() diff --git a/mytest.py b/mytest.py index 93c4214..452dd3d 100644 --- a/mytest.py +++ b/mytest.py @@ -173,8 +173,12 @@ class Session: # when execBegin opened a new dialog, don't bother showing the old one. if c == self.current_dialog and do_show: - c.show() - + # this is the first show() for each screen. + # screen.shown is already true, because that resembles the state + # ("not-yet-shown-but-will-be-shown") best, so c.show() would just do nothing. + # show(force=True) will show in any case. + c.show(force = True) + def execEnd(self, last=True): assert self.in_exec self.in_exec = False -- 2.7.4