From b3b1977dd9ef8a27d2b313d0c5934718ef682665 Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Fri, 23 Nov 2007 17:58:24 +0000 Subject: [PATCH] fix close return values for non execing dialogs --- lib/python/Screens/Screen.py | 14 +++++++++----- 1 file 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) -- 2.30.2