some cleanups,
[enigma2.git] / lib / python / Components / Sources / CurrentService.py
index 100822bc0cde8255bb88515571d5cb6656d4d699..2501c176f787226e0b3123ece71ca27b04b43430 100644 (file)
@@ -1,6 +1,7 @@
 from Components.PerServiceDisplay import PerServiceBase
 from enigma import iPlayableService
 from Source import Source
+from Components.Element import cached
 
 class CurrentService(PerServiceBase, Source):
        def __init__(self, navcore):
@@ -13,14 +14,21 @@ class CurrentService(PerServiceBase, Source):
                                # which is not always provided.
                                iPlayableService.evUpdatedInfo: self.serviceEvent,
                                iPlayableService.evUpdatedEventInfo: self.serviceEvent,
-                               iPlayableService.evCuesheetChanged: self.serviceEvent
+                               iPlayableService.evCuesheetChanged: self.serviceEvent,
+                               iPlayableService.evVideoSizeChanged: self.serviceEvent
                        }, with_event=True)
                self.navcore = navcore
 
        def serviceEvent(self, event):
-               self.changed(event)
+               self.changed((self.CHANGED_SPECIFIC, event))
 
+       @cached
        def getCurrentService(self):
                return self.navcore.getCurrentService()
 
        service = property(getCurrentService)
+
+       def destroy(self):
+               PerServiceBase.destroy(self)
+               Source.destroy(self)
+