diff options
author | Ilya Fedin <fedin-ilja2010@ya.ru> | 2023-03-28 01:16:56 +0400 |
---|---|---|
committer | Ilya Fedin <fedin-ilja2010@ya.ru> | 2023-04-03 19:45:49 +0400 |
commit | 2eb17abf4262b467140ed4262320bf60cbda3ba2 (patch) | |
tree | 4f6b4fcf76ef43560e967ac034e65167da23fc11 /src/client/qwaylanddisplay.cpp | |
parent | b66d93c6b827ef2d194916c68f1f64fe874d5163 (diff) |
Client: Check for shell integration when initializing platform plugin
This makes QWaylandDisplay::initialize return a boolean and moves the
QWaylandIntegration's failure check out of constructor as
QWaylandIntegration::shellIntegration is a virtual method, this also
removes the out-of-date comments about processEvents as it's no more
used in QWaylandDisplay::forceRoundTrip.
Fixes: QTBUG-102457
Pick-to: 6.5
Change-Id: I3c8f1d9fd195326b587b45318443c2beee1ebfc2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Diffstat (limited to 'src/client/qwaylanddisplay.cpp')
-rw-r--r-- | src/client/qwaylanddisplay.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/client/qwaylanddisplay.cpp b/src/client/qwaylanddisplay.cpp index 5c3431a05..3fe4cb50d 100644 --- a/src/client/qwaylanddisplay.cpp +++ b/src/client/qwaylanddisplay.cpp @@ -379,8 +379,11 @@ QWaylandDisplay::~QWaylandDisplay(void) // Steps which is called just after constructor. This separates registry_global() out of the constructor // so that factory functions in integration can be overridden. -void QWaylandDisplay::initialize() +bool QWaylandDisplay::initialize() { + if (!isInitialized()) + return false; + forceRoundTrip(); if (!mWaitingScreens.isEmpty()) { @@ -389,6 +392,8 @@ void QWaylandDisplay::initialize() } if (!mClientSideInputContextRequested) mTextInputManagerIndex = INT_MAX; + + return qEnvironmentVariableIntValue("QT_WAYLAND_DONT_CHECK_SHELL_INTEGRATION") || shellIntegration(); } void QWaylandDisplay::ensureScreen() |