diff options
author | Alex Merry <dev@randomguy3.me.uk> | 2012-04-20 04:12:02 +0100 |
---|---|---|
committer | Alex Merry <dev@randomguy3.me.uk> | 2012-04-20 04:20:39 +0100 |
commit | e2a85b52f268e0081e89185e29e283e6c5426a4c (patch) | |
tree | e5275ea72778aa0f1b1a1dcfd8cc883cf6b10f21 | |
parent | 03a02f314945094b42c0c0d1bef335e319216708 (diff) |
Complain when Position is in PropertiesChanged
-rw-r--r-- | mpris2/interfacetest.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/mpris2/interfacetest.cpp b/mpris2/interfacetest.cpp index a2a6cb9..6b26e5e 100644 --- a/mpris2/interfacetest.cpp +++ b/mpris2/interfacetest.cpp @@ -288,17 +288,25 @@ void InterfaceTest::_m_propertiesChanged(const QString& interface, QStringList changedPropsList = invalidatedProperties; QVariantMap::const_iterator i = changedProperties.constBegin(); while (i != changedProperties.constEnd()) { - props[i.key()] = i.value(); - checkUpdatedProperty(i.key()); - outOfDateProperties.remove(i.key()); - changedPropsList << i.key(); + if (propsNotUpdated.contains(i.key())) { + emit interfaceError(Signal, "PropertiesChanged", "PropertiesChanged signal sent for " + i.key() + "; you almost certainly didn't want to do this"); + } else { + props[i.key()] = i.value(); + checkUpdatedProperty(i.key()); + outOfDateProperties.remove(i.key()); + changedPropsList << i.key(); + } ++i; } QStringList::const_iterator j = invalidatedProperties.constBegin(); while (j != invalidatedProperties.constEnd()) { - if (getProp(*j)) - checkUpdatedProperty(*j); - outOfDateProperties.remove(*j); + if (propsNotUpdated.contains(*j)) { + emit interfaceError(Signal, "PropertiesChanged", "PropertiesChanged signal sent for " + *j + "; you almost certainly didn't want to do this"); + } else { + if (getProp(*j)) + checkUpdatedProperty(*j); + outOfDateProperties.remove(*j); + } ++j; } checkConsistency(); |