diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2007-04-24 13:07:43 +0000 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2007-04-24 13:07:43 +0000 |
| commit | 242c6b39353c18564993022d46560e0d29c6526b (patch) | |
| tree | fce3e1830b56095c65005699e31c11311333ed10 | |
| parent | 6e15b45a8548265f1302b00630453f14ae4c786a (diff) | |
| download | enigma2-242c6b39353c18564993022d46560e0d29c6526b.tar.gz enigma2-242c6b39353c18564993022d46560e0d29c6526b.zip | |
better (and more correct) fix
| -rw-r--r-- | lib/python/Screens/Screen.py | 8 | ||||
| -rw-r--r-- | mytest.py | 6 |
2 files changed, 7 insertions, 7 deletions
diff --git a/lib/python/Screens/Screen.py b/lib/python/Screens/Screen.py index a6106e1e..cfcb5284 100644 --- a/lib/python/Screens/Screen.py +++ b/lib/python/Screens/Screen.py @@ -22,7 +22,10 @@ class Screen(dict, HTMLSkin, GUISkin): self.onHide = [ ] self.execing = False + self.shown = True + # already shown is false until the screen is really shown (after creation) + self.already_shown = False self.renderer = [ ] @@ -113,10 +116,11 @@ class Screen(dict, HTMLSkin, GUISkin): def setFocus(self, o): self.instance.setFocus(o.instance) - def show(self, force = False): - if (self.shown and not force) or not self.instance: + def show(self): + 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() @@ -173,11 +173,7 @@ class Session: # when execBegin opened a new dialog, don't bother showing the old one. if c == self.current_dialog and do_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) + c.show() def execEnd(self, last=True): assert self.in_exec |
