summaryrefslogtreecommitdiffstats
path: root/src/dbus/qdbusintegrator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/dbus/qdbusintegrator.cpp')
-rw-r--r--src/dbus/qdbusintegrator.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index d819009d9b..a95d96e526 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -1481,8 +1481,12 @@ void QDBusConnectionPrivate::activateObject(ObjectTreeNode &node, const QDBusMes
if (node.flags & (QDBusConnection::ExportScriptableSlots|QDBusConnection::ExportNonScriptableSlots) ||
node.flags & (QDBusConnection::ExportScriptableInvokables|QDBusConnection::ExportNonScriptableInvokables)) {
bool interfaceFound = true;
- if (!msg.interface().isEmpty())
- interfaceFound = qDBusInterfaceInObject(node.obj, msg.interface());
+ if (!msg.interface().isEmpty()) {
+ if (!node.interfaceName.isEmpty())
+ interfaceFound = msg.interface() == node.interfaceName;
+ else
+ interfaceFound = qDBusInterfaceInObject(node.obj, msg.interface());
+ }
if (interfaceFound) {
if (!activateCall(node.obj, node.flags, msg))