Screen: clear all elements on close
authorFelix Domke <tmbinc@elitedvb.net>
Sat, 17 Dec 2005 00:12:05 +0000 (00:12 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Sat, 17 Dec 2005 00:12:05 +0000 (00:12 +0000)
lib/python/Screens/Screen.py
mytest.py

index 08e0baa90b0f011bfc6eff75c4cb668705328ed4..3c6358313a53050707b429133aba6a0e4c6cc460 100644 (file)
@@ -63,6 +63,9 @@ class Screen(dict, HTMLSkin, GUISkin):
                del self.session
                for (name, val) in self.items():
                        del self[name]
                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)
        
        def close(self, *retval):
                self.session.close(*retval)
index 42bcd3eefe17fa91ae139b4581ec29afc5634ebd..242f19e56ccfa1f073a32c3cb0981249c1a2cef2 100644 (file)
--- a/mytest.py
+++ b/mytest.py
@@ -75,8 +75,6 @@ class Session:
 
                if self.currentDialog.isTmp:
                        self.currentDialog.doClose()
 
                if self.currentDialog.isTmp:
                        self.currentDialog.doClose()
-
-                       del self.currentDialog.instance
 #                      dump(self.currentDialog)
                        del self.currentDialog
                else:
 #                      dump(self.currentDialog)
                        del self.currentDialog
                else:
@@ -121,6 +119,9 @@ class Session:
                        quitMainloop(5)
                        print '-'*60
                
                        quitMainloop(5)
                        print '-'*60
                
+               if dlg is None:
+                       return
+
                # read skin data
                readSkin(dlg, None, dlg.skinName, self.desktop)
 
                # read skin data
                readSkin(dlg, None, dlg.skinName, self.desktop)