The problem with emitting the signal unconditionally is that there is some other components that expect the changed signal to mean just that and work incorrectly if it is emitted when the property value doesn't change.