X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a12f0f98d99109a64942abf1bb1f6e429c2fc7f5..636070f4e47caf18e752b59485758e0f4eb19492:/lib/python/Screens/Screen.py diff --git a/lib/python/Screens/Screen.py b/lib/python/Screens/Screen.py index 4e3b117e..92efb705 100644 --- a/lib/python/Screens/Screen.py +++ b/lib/python/Screens/Screen.py @@ -7,7 +7,7 @@ class Screen(dict, HTMLSkin, GUISkin): ALLOW_SUSPEND = False - global_scren = None + global_screen = None def __init__(self, session, parent = None): self.skinName = self.__class__.__name__ @@ -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)