aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase
diff options
context:
space:
mode:
authorRisto Avila <risto.avila@theqtcompany.com>2015-12-17 05:00:05 +0200
committerRisto Avila <risto.avila@theqtcompany.com>2015-12-17 05:00:05 +0200
commit565235cf6861f03a8d9d6b2613213509949b44d9 (patch)
tree59f1a4447be7224bb38c012523e1723da9d43244 /recipes-qt/qt5/qtbase
parentce79341254c09139c35fb7289eb329681fc562c2 (diff)
Workaround for QDbus caching introspects.
This just quickly removes the cached object to force introspect. Final solution will upstreamed in the future. Change-Id: I156a1a97a0c4d1f17eed1d164e18ee8f73dec074 Signed-off-by: Risto Avila <risto.avila@theqtcompany.com>
Diffstat (limited to 'recipes-qt/qt5/qtbase')
-rw-r--r--recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch b/recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch
new file mode 100644
index 000000000..10a1ddd88
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch
@@ -0,0 +1,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
+