do nothing when old and new service is equal
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sun, 22 Jul 2007 17:42:50 +0000 (17:42 +0000)
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>
Sun, 22 Jul 2007 17:42:50 +0000 (17:42 +0000)
lib/python/Components/Sources/ServiceEvent.py

index 8a1c7ffedd2d2c280c093d9c6d5824818b6f5503..95c9140b2b3b022580b9e762eba6739151e862c4 100644 (file)
@@ -23,8 +23,9 @@ class ServiceEvent(VariableText, GUIComponent, Source, object):
        event = property(getCurrentEvent)
 
        def newService(self, ref):
-               self.cur_ref = ref
-               if not ref or (ref.flags & Ref.flagDirectory) == Ref.flagDirectory or ref.flags & Ref.isMarker:
-                       self.changed((self.CHANGED_CLEAR,))
-               else:
-                       self.changed((self.CHANGED_ALL,))
+               if not self.cur_ref or self.cur_ref != ref:
+                       self.cur_ref = ref
+                       if not ref or (ref.flags & Ref.flagDirectory) == Ref.flagDirectory or ref.flags & Ref.isMarker:
+                               self.changed((self.CHANGED_CLEAR,))
+                       else:
+                               self.changed((self.CHANGED_ALL,))