do nothing when old and new service is equal
[enigma2.git] / 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,))