diff options
author | Risto Avila <risto.avila@theqtcompany.com> | 2015-12-17 05:00:05 +0200 |
---|---|---|
committer | Risto Avila <risto.avila@theqtcompany.com> | 2015-12-17 05:00:05 +0200 |
commit | 565235cf6861f03a8d9d6b2613213509949b44d9 (patch) | |
tree | 59f1a4447be7224bb38c012523e1723da9d43244 /recipes-qt | |
parent | ce79341254c09139c35fb7289eb329681fc562c2 (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')
-rw-r--r-- | recipes-qt/qt5/qtbase/0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch | 30 | ||||
-rw-r--r-- | recipes-qt/qt5/qtbase_%.bbappend | 4 |
2 files changed, 34 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 + diff --git a/recipes-qt/qt5/qtbase_%.bbappend b/recipes-qt/qt5/qtbase_%.bbappend index 7b6ab8752..ebca5c8e5 100644 --- a/recipes-qt/qt5/qtbase_%.bbappend +++ b/recipes-qt/qt5/qtbase_%.bbappend @@ -1,5 +1,9 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +SRC_URI_append = "\ + file://0001-Force-qdbus-to-make-introspect-for-every-findMetaObj.patch \ + " + DEPENDS_append_koelsch = " libegl" DEPENDS_append_porter = " libegl" |