diff options
-rw-r--r-- | src/dbus/qdbusreply.h | 2 | ||||
-rw-r--r-- | tests/auto/dbus/qdbusreply/tst_qdbusreply.cpp | 25 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/dbus/qdbusreply.h b/src/dbus/qdbusreply.h index 7b4a4ebcf8..4567c80131 100644 --- a/src/dbus/qdbusreply.h +++ b/src/dbus/qdbusreply.h @@ -111,6 +111,7 @@ public: inline bool isValid() const { return !m_error.isValid(); } inline const QDBusError& error() { return m_error; } + inline const QDBusError& error() const { return m_error; } inline Type value() const { @@ -182,6 +183,7 @@ public: inline bool isValid() const { return !m_error.isValid(); } inline const QDBusError& error() { return m_error; } + inline const QDBusError& error() const { return m_error; } private: QDBusError m_error; diff --git a/tests/auto/dbus/qdbusreply/tst_qdbusreply.cpp b/tests/auto/dbus/qdbusreply/tst_qdbusreply.cpp index 5e60e468a2..8b0fa92adf 100644 --- a/tests/auto/dbus/qdbusreply/tst_qdbusreply.cpp +++ b/tests/auto/dbus/qdbusreply/tst_qdbusreply.cpp @@ -97,6 +97,7 @@ private slots: void simpleTypes(); void complexTypes(); void wrongTypes(); + void error(); }; class TypesInterface: public QDBusAbstractAdaptor @@ -372,6 +373,30 @@ void tst_QDBusReply::wrongTypes() QVERIFY(!rstruct.isValid()); } +void tst_QDBusReply::error() +{ + { + // Wrong type + QDBusReply<bool> result = iface->call(QDBus::BlockWithGui, "retrieveInt"); + QVERIFY(result.error().isValid()); + } + { + // Wrong type, const version + const QDBusReply<bool> result = iface->call(QDBus::BlockWithGui, "retrieveInt"); + QVERIFY(result.error().isValid()); + } + { + // Ok type + QDBusReply<void> result = iface->call(QDBus::BlockWithGui, "retrieveInt"); + QVERIFY(!result.error().isValid()); + } + { + // Ok type, const version + const QDBusReply<void> result = iface->call(QDBus::BlockWithGui, "retrieveInt"); + QVERIFY(!result.error().isValid()); + } +} + QTEST_MAIN(tst_QDBusReply) #include "tst_qdbusreply.moc" |