some cleanups,
[enigma2.git] / lib / python / Components / Sources / CurrentService.py
index 08d67eeea4acbe11d802e0db34c911226796c2e6..2501c176f787226e0b3123ece71ca27b04b43430 100644 (file)
@@ -1,8 +1,7 @@
 from Components.PerServiceDisplay import PerServiceBase
 from enigma import iPlayableService
 from Source import Source
-
-from time import time
+from Components.Element import cached
 
 class CurrentService(PerServiceBase, Source):
        def __init__(self, navcore):
@@ -15,16 +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((self.CHANGED_SPECIFIC, event))
 
+       @cached
        def getCurrentService(self):
-               if self.cache is None:
-                       self.cache = self.navcore.getCurrentService()
-               return self.cache
+               return self.navcore.getCurrentService()
 
        service = property(getCurrentService)
+
+       def destroy(self):
+               PerServiceBase.destroy(self)
+               Source.destroy(self)
+