diff options
Diffstat (limited to 'lib/python')
| -rwxr-xr-x[-rw-r--r--] | lib/python/Components/Console.py | 5 | ||||
| -rwxr-xr-x | lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py | 15 |
2 files changed, 17 insertions, 3 deletions
diff --git a/lib/python/Components/Console.py b/lib/python/Components/Console.py index f1f3fd95..7efdf64e 100644..100755 --- a/lib/python/Components/Console.py +++ b/lib/python/Components/Console.py @@ -55,3 +55,8 @@ class Console(object): if self.callbacks[name]: self.callbacks[name](data,retval,extra_args) del self.callbacks[name] + + def kill(self,name): + if self.appContainers.has_key(name): + print "[Console] killing: ",self.appContainers[name] + self.appContainers[name].kill() diff --git a/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py b/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py index 3215dbce..d8ccd5a5 100755 --- a/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py +++ b/lib/python/Plugins/SystemPlugins/SoftwareManager/plugin.py @@ -16,6 +16,7 @@ from Components.config import config,getConfigListEntry, ConfigSubsection, Confi from Components.Console import Console from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmapAlphaTest from Components.SelectionList import SelectionList +from Components.PluginComponent import plugins from Tools.Directories import fileExists, resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE from Tools.LoadPixmap import LoadPixmap from enigma import eTimer, quitMainloop, RT_HALIGN_LEFT, RT_VALIGN_CENTER, eListboxPythonMultiContent, eListbox, gFont @@ -324,8 +325,8 @@ class PacketManager(Screen): self["shortcuts"] = ActionMap(["ShortcutActions", "WizardActions"], { "ok": self.go, - "back": self.close, - "red": self.close, + "back": self.exit, + "red": self.exit, "green": self.reload, }, -1) @@ -350,7 +351,15 @@ class PacketManager(Screen): self.ipkg.addCallback(self.ipkgCallback) self.onShown.append(self.setWindowTitle) self.onLayoutFinish.append(self.rebuildList) - self.onClose.append(self.cleanup) + #self.onClose.append(self.cleanup) + + def exit(self): + self.ipkg.stop() + if self.Console is not None: + if len(self.Console.appContainers): + for name in self.Console.appContainers.keys(): + self.Console.kill(name) + self.close() def cleanup(self): self.ipkg.stop() |
