aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-11-23 17:58:24 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2007-11-23 17:58:24 +0000
commitb3b1977dd9ef8a27d2b313d0c5934718ef682665 (patch)
treed5a1267f6ab7805203f16b8b4faeb16d755847bc /lib
parentcdb99d1b59657be0c907836e1a2110939a00e257 (diff)
downloadenigma2-b3b1977dd9ef8a27d2b313d0c5934718ef682665.tar.gz
enigma2-b3b1977dd9ef8a27d2b313d0c5934718ef682665.zip
fix close return values for non execing dialogs
Diffstat (limited to 'lib')
-rw-r--r--lib/python/Screens/Screen.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/python/Screens/Screen.py b/lib/python/Screens/Screen.py
index ba96ef50..92efb705 100644
--- a/lib/python/Screens/Screen.py
+++ b/lib/python/Screens/Screen.py
@@ -37,6 +37,8 @@ class Screen(dict, HTMLSkin, GUISkin):
self.close_on_next_exec = None
+ self.in_close = False
+
# stand alone screens (for example web screens)
# don't care about having or not having focus.
self.stand_alone = False
@@ -47,7 +49,7 @@ class Screen(dict, HTMLSkin, GUISkin):
tmp = self.close_on_next_exec
self.close_on_next_exec = None
self.execing = True
- self.close(tmp)
+ self.close(*tmp)
else:
single = self.onFirstExecBegin
self.onFirstExecBegin = []
@@ -110,10 +112,12 @@ class Screen(dict, HTMLSkin, GUISkin):
self.__dict__.clear()
def close(self, *retval):
- if not self.execing:
- self.close_on_next_exec = retval
- else:
- self.session.close(self, *retval)
+ if not self.in_close:
+ if not self.execing:
+ self.close_on_next_exec = retval
+ else:
+ self.in_close = True
+ self.session.close(self, *retval)
def setFocus(self, o):
self.instance.setFocus(o.instance)