diff options
author | Daniele E. Domenichelli <daniele.domenichelli@gmail.com> | 2011-04-18 16:21:06 (GMT) |
---|---|---|
committer | Marius Storm-Olsen <marius.storm-olsen@nokia.com> | 2011-04-18 16:24:42 (GMT) |
commit | bc0bf6f84034267d1e15ca9ca31e6498e6d97bd3 (patch) | |
tree | 0cd750ad3a8d20071c4f05c27210f81ed0ea7e0c /src/dbus | |
parent | 35a7a647faf66b281b9ca952252f90e530aa3afb (diff) | |
download | Qt-bc0bf6f84034267d1e15ca9ca31e6498e6d97bd3.zip Qt-bc0bf6f84034267d1e15ca9ca31e6498e6d97bd3.tar.gz Qt-bc0bf6f84034267d1e15ca9ca31e6498e6d97bd3.tar.bz2 |
QtDBus: Fix registering objects using path '/' in peer-to-peer connections
Merge-request: 2343
Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
Diffstat (limited to 'src/dbus')
-rw-r--r-- | src/dbus/qdbusconnection.cpp | 2 | ||||
-rw-r--r-- | src/dbus/qdbusintegrator.cpp | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/dbus/qdbusconnection.cpp b/src/dbus/qdbusconnection.cpp index a7ee5b9..f78d7da 100644 --- a/src/dbus/qdbusconnection.cpp +++ b/src/dbus/qdbusconnection.cpp @@ -814,7 +814,7 @@ void QDBusConnection::unregisterObject(const QString &path, UnregisterMode mode) // find the object while (node) { - if (pathComponents.count() == i) { + if (pathComponents.count() == i || !path.compare(QLatin1String("/"))) { // found it node->obj = 0; node->flags = 0; diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp index e09b155..10f749b 100644 --- a/src/dbus/qdbusintegrator.cpp +++ b/src/dbus/qdbusintegrator.cpp @@ -430,6 +430,11 @@ static bool findObject(const QDBusConnectionPrivate::ObjectTreeNode *root, const QString &fullpath, int &usedLength, QDBusConnectionPrivate::ObjectTreeNode &result) { + if (!fullpath.compare(QLatin1String("/")) && root->obj) { + usedLength = 1; + result = *root; + return root; + } int start = 0; int length = fullpath.length(); if (fullpath.at(0) == QLatin1Char('/')) |