- 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.service or not ref or self.service != ref:
+ self.service = 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,))