summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2021-10-13 20:22:52 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-11-16 10:43:39 +0000
commit65b48ff4ea262fc88c608cc80d3e1c21c6aa0626 (patch)
treec6ec70bcf1c72d56d0c92fb5cc2c064111ba1476
parentc597f4bff14b11cc2d3fd9139b2afcff8a79cc1b (diff)
Check if xkb extension is present
According to docs: "You must call XkbQueryExtension or XkbOpenDisplay before using any other Xkb library interfaces" Task-number: QTBUG-97472 Change-Id: I84c1bc49b077224a93d9f8d7a9ac29fe089de13e Reviewed-by: Liang Qi <liang.qi@qt.io> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu> (cherry picked from commit e02563066fe270205139f8dbc0b08a941874fe69) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/core/ozone/ozone_platform_qt.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/ozone/ozone_platform_qt.cpp b/src/core/ozone/ozone_platform_qt.cpp
index 8dbacfb2f..33d7bd992 100644
--- a/src/core/ozone/ozone_platform_qt.cpp
+++ b/src/core/ozone/ozone_platform_qt.cpp
@@ -160,6 +160,12 @@ static std::string getCurrentKeyboardLayout()
if (dpy == nullptr)
return std::string();
+ int d;
+ if (!XkbQueryExtension(dpy, &d, &d, &d, &d, &d)) {
+ // no Xkb extension
+ return std::string();
+ }
+
XkbStateRec state;
if (XkbGetState(dpy, XkbUseCoreKbd, &state) != 0)
return std::string();