diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2021-02-05 14:29:47 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2021-02-08 18:49:16 +0000 |
commit | 4a010aeb6a3baa27af668dc0e818483c6f4632e2 (patch) | |
tree | 0946e13b38056fddfda3f88da746ab0cb1ebe62b /recipes-qt/qt/qtwayland | |
parent | 44b6b5dda23e0c2a2e957f66b1941c3a2a3b0249 (diff) |
qtwayland: Mitigate crash when platforminputcontext library is missing
Turns out that in the case a plug-in library is missing (which is the actual
root cause of this problem) we do not properly check if it can
use it, leading to a crash when attempting to make of use QT_LOGGING_RULES.
This patch mitigates that and allows to debug Qt w/ the help of
QT_LOGGING_RULES.
Bug-AGL: SPEC-3359
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: If8c0f0f030c7ca53aca701a54ceea317cc7fd695
Diffstat (limited to 'recipes-qt/qt/qtwayland')
-rw-r--r-- | recipes-qt/qt/qtwayland/0001-client-qwaylandintegration-Do-not-attempt-to-use-the.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/recipes-qt/qt/qtwayland/0001-client-qwaylandintegration-Do-not-attempt-to-use-the.patch b/recipes-qt/qt/qtwayland/0001-client-qwaylandintegration-Do-not-attempt-to-use-the.patch new file mode 100644 index 000000000..2d578e3b0 --- /dev/null +++ b/recipes-qt/qt/qtwayland/0001-client-qwaylandintegration-Do-not-attempt-to-use-the.patch @@ -0,0 +1,37 @@ +From 0c8212273ac0fcd8cd954bd43075901a80ab3476 Mon Sep 17 00:00:00 2001 +From: Marius Vlad <marius.vlad@collabora.com> +Date: Fri, 29 Jan 2021 12:31:19 +0200 +Subject: [PATCH] client/qwaylandintegration: Do not attempt to use the + inputContext() + +We assume loading the platforminputcompose library no matter what, but +in case that doesn't happen (the library effectively not found), no necessary +checks are made in order to make sure that indeed succeed. + +This patch mitigates that, and with it, it allows to use the QT_LOGGING_RULES, +which is used to trigger the issue. + +Bug-AGL: SPEC-3359 + +Signed-off-by: Marius Vlad <marius.vlad@collabora.com> +--- + src/client/qwaylandintegration.cpp | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/client/qwaylandintegration.cpp b/src/client/qwaylandintegration.cpp +index f6a80e18..5568485c 100644 +--- a/src/client/qwaylandintegration.cpp ++++ b/src/client/qwaylandintegration.cpp +@@ -503,7 +503,8 @@ void QWaylandIntegration::reconfigureInputContext() + // is why we need to check here which input context actually is being used. + mDisplay->mUsingInputContextFromCompositor = qobject_cast<QWaylandInputContext *>(mInputContext.data()); + +- qCDebug(lcQpaWayland) << "using input method:" << inputContext()->metaObject()->className(); ++ if (mDisplay->mUsingInputContextFromCompositor) ++ qCDebug(lcQpaWayland) << "using input method:" << inputContext()->metaObject()->className(); + } + + QWaylandShellIntegration *QWaylandIntegration::createShellIntegration(const QString &integrationName) +-- +2.28.0 + |