blob: 10a1ddd882ead0bbe1ca9822c0b903a3bc488849 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
From a4943bb5c7fdf5eb297223d2c3bb02d2271bea48 Mon Sep 17 00:00:00 2001
From: Risto Avila <risto.avila@theqtcompany.com>
Date: Thu, 17 Dec 2015 04:22:53 +0200
Subject: [PATCH] Force qdbus to make introspect for every findMetaObject
---
src/dbus/qdbusintegrator.cpp | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/dbus/qdbusintegrator.cpp b/src/dbus/qdbusintegrator.cpp
index cce8b9c..ae2a9dc 100644
--- a/src/dbus/qdbusintegrator.cpp
+++ b/src/dbus/qdbusintegrator.cpp
@@ -2512,8 +2512,11 @@ QDBusConnectionPrivate::findMetaObject(const QString &service, const QString &pa
if (!interface.isEmpty()) {
QDBusReadLocker locker(FindMetaObject1Action, this);
QDBusMetaObject *mo = cachedMetaObjects.value(interface, 0);
- if (mo)
- return mo;
+ if (mo) {
+ // service is not unique. Remove cached object to force introspect
+ cachedMetaObjects.remove(interface);
+ delete mo;
+ }
}
// introspect the target object
--
1.9.1
|