From 8c2a83d6b2a60b2bd408ccdc6d5afd6da506912f Mon Sep 17 00:00:00 2001 From: Andreas Monzner Date: Thu, 14 Feb 2008 20:40:05 +0000 Subject: unlink some cyclic dependencys to get garbage collection working --- lib/python/Components/Ipkg.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'lib/python/Components/Ipkg.py') diff --git a/lib/python/Components/Ipkg.py b/lib/python/Components/Ipkg.py index eac26428..361b136a 100644 --- a/lib/python/Components/Ipkg.py +++ b/lib/python/Components/Ipkg.py @@ -22,10 +22,7 @@ class IpkgComponent: self.ipkg = ipkg self.cmd = eConsoleAppContainer() - self.cmd.appClosed.get().append(self.cmdFinished) - self.cmd.dataAvail.get().append(self.cmdData) self.cache = None - self.callbackList = [] self.setCurrentCommand() @@ -34,8 +31,11 @@ class IpkgComponent: def runCmd(self, cmd): print "executing", self.ipkg, cmd - self.cmd.execute(self.ipkg + " " + cmd) - + self.cmd.appClosed.get().append(self.cmdFinished) + self.cmd.dataAvail.get().append(self.cmdData) + if self.cmd.execute(self.ipkg + " " + cmd): + self.cmdFinished(-1) + def startCmd(self, cmd, args = None): if cmd == self.CMD_UPDATE: self.runCmd("update") @@ -56,7 +56,9 @@ class IpkgComponent: def cmdFinished(self, retval): self.callCallbacks(self.EVENT_DONE) - + self.cmd.appClosed.get().remove(self.cmdFinished) + self.cmd.dataAvail.get().remove(self.cmdData) + def cmdData(self, data): print "data:", data if self.cache is None: -- cgit v1.2.3