summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2014-12-11 13:58:52 -0800
committerThiago Macieira <thiago.macieira@intel.com>2015-01-06 17:37:00 +0100
commit624ee454ec58074c1156b8a82f48ba83279c44fa (patch)
treebb613e72469feec84f80dc388674c1f764806021
parentaa83bacb14dac06eb7226c8c688f37eeecec15d4 (diff)
Make QDBusConnection and QDBusServer return an error on default objects
The error of "Not connected". This incidentally solves a crash when QDBusServer().lastError() is called but libdbus-1 couldn't be found. Change-Id: Id93f447d00c0aa6660d4528c4bbce5998d9186a8 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
-rw-r--r--src/dbus/qdbusconnection.cpp2
-rw-r--r--src/dbus/qdbusserver.cpp2
-rw-r--r--tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp8
3 files changed, 6 insertions, 6 deletions
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp
index 1a56f53a63..a46df16ac5 100644
--- a/src/dbus/qdbusconnection.cpp
+++ b/src/dbus/qdbusconnection.cpp
@@ -959,7 +959,7 @@ bool QDBusConnection::isConnected() const
*/
QDBusError QDBusConnection::lastError() const
{
- return d ? d->lastError : QDBusError();
+ return d ? d->lastError : QDBusError(QDBusError::Disconnected, QStringLiteral("Not connected."));
}
/*!
diff --git a/src/dbus/qdbusserver.cpp b/src/dbus/qdbusserver.cpp
index 54b38ee848..b2c76a8750 100644
--- a/src/dbus/qdbusserver.cpp
+++ b/src/dbus/qdbusserver.cpp
@@ -129,7 +129,7 @@ bool QDBusServer::isConnected() const
*/
QDBusError QDBusServer::lastError() const
{
- return d->lastError;
+ return d ? d->lastError : QDBusError(QDBusError::Disconnected, QStringLiteral("Not connected."));
}
/*!
diff --git a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp
index 7e6e742e28..df6fb9e9bc 100644
--- a/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp
+++ b/tests/auto/dbus/qdbusconnection/tst_qdbusconnection.cpp
@@ -246,7 +246,7 @@ void tst_QDBusConnection::connectToBus()
QDBusConnection con2("foo");
QVERIFY(!con2.isConnected());
- QVERIFY(!con2.lastError().isValid());
+ QVERIFY(con2.lastError().isValid());
con2 = con;
QVERIFY(con.isConnected());
@@ -274,7 +274,7 @@ void tst_QDBusConnection::connectToBus()
{
QDBusConnection con("bubu");
QVERIFY(!con.isConnected());
- QVERIFY(!con.lastError().isValid());
+ QVERIFY(con.lastError().isValid());
}
QByteArray address = qgetenv("DBUS_SESSION_BUS_ADDRESS");
@@ -314,7 +314,7 @@ void tst_QDBusConnection::connectToPeer()
QDBusConnection con2("foo");
QVERIFY(!con2.isConnected());
- QVERIFY(!con2.lastError().isValid());
+ QVERIFY(con2.lastError().isValid());
con2 = con;
QVERIFY(con.isConnected());
@@ -342,7 +342,7 @@ void tst_QDBusConnection::connectToPeer()
{
QDBusConnection con("bubu");
QVERIFY(!con.isConnected());
- QVERIFY(!con.lastError().isValid());
+ QVERIFY(con.lastError().isValid());
}
}