From: Risto Avila Date: Thu, 17 Dec 2015 03:00:05 +0000 (+0200) Subject: Workaround for QDbus caching introspects. X-Git-Tag: albacore_1.0~4 X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=commitdiff_plain;h=565235cf6861f03a8d9d6b2613213509949b44d9;p=AGL%2Fmeta-agl-demo.git 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 --- 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 +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"