From 9a0d02d2e74c24dcc7b8bfe6df937e92c8af1d0d Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Sun, 9 Apr 2006 21:56:50 +0000 Subject: add destroy() for Components to fix bug #52 --- lib/python/Components/ActionMap.py | 3 +++ lib/python/Components/GUIComponent.py | 3 +++ lib/python/Components/PerServiceDisplay.py | 3 +++ 3 files changed, 9 insertions(+) (limited to 'lib/python/Components') diff --git a/lib/python/Components/ActionMap.py b/lib/python/Components/ActionMap.py index a6f5eb9c..ee3d31db 100644 --- a/lib/python/Components/ActionMap.py +++ b/lib/python/Components/ActionMap.py @@ -50,6 +50,9 @@ class ActionMap: print "unknown action %s/%s! typo in keymap?" % (context, action) return 0 + def destroy(self): + pass + class NumberActionMap(ActionMap): def action(self, contexts, action): numbers = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] diff --git a/lib/python/Components/GUIComponent.py b/lib/python/Components/GUIComponent.py index 493df681..8f6362fd 100644 --- a/lib/python/Components/GUIComponent.py +++ b/lib/python/Components/GUIComponent.py @@ -24,6 +24,9 @@ class GUIComponent: def onHide(self): pass + def destroy(self): + pass + # this works only with normal widgets - if you don't have self.instance, override this. def applySkin(self, desktop): if self.state == self.HIDDEN: diff --git a/lib/python/Components/PerServiceDisplay.py b/lib/python/Components/PerServiceDisplay.py index 55ef3d18..821f6d16 100644 --- a/lib/python/Components/PerServiceDisplay.py +++ b/lib/python/Components/PerServiceDisplay.py @@ -17,6 +17,9 @@ class PerServiceBase(GUIComponent): # start with stopped state, so simulate that self.event(iPlayableService.evEnd) + def destroy(self): + self.navcore.event.remove(self.event) + def event(self, ev): # loop up if we need to handle this event if self.eventmap.has_key(ev): -- cgit v1.2.3