summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Merry <dev@randomguy3.me.uk>2012-04-20 04:12:02 +0100
committerAlex Merry <dev@randomguy3.me.uk>2012-04-20 04:20:39 +0100
commite2a85b52f268e0081e89185e29e283e6c5426a4c (patch)
treee5275ea72778aa0f1b1a1dcfd8cc883cf6b10f21
parent03a02f314945094b42c0c0d1bef335e319216708 (diff)
Complain when Position is in PropertiesChanged
-rw-r--r--mpris2/interfacetest.cpp22
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();