widget: don't crash when deallocating in wrong order
[enigma2.git] / lib / python / Screens / Screen.py
index 231cbfaa0a7314deeaee62baffaa9d8b66ad7724..3c6358313a53050707b429133aba6a0e4c6cc460 100644 (file)
@@ -46,6 +46,7 @@ class Screen(dict, HTMLSkin, GUISkin):
 #              for (name, val) in self.items():
                for val in self.active_components:
                        val.execEnd()
+               del self.active_components
 #              assert self.session != None, "execEnd on non-execing screen!"
 #              self.session = None
                self.execing = False
@@ -62,6 +63,9 @@ class Screen(dict, HTMLSkin, GUISkin):
                del self.session
                for (name, val) in self.items():
                        del self[name]
+               
+               # really delete all elements now
+               self.__dict__.clear()
        
        def close(self, *retval):
                self.session.close(*retval)