diff options
author | Michal Klocek <michal.klocek@qt.io> | 2021-10-13 20:22:52 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-11-16 10:43:39 +0000 |
commit | 65b48ff4ea262fc88c608cc80d3e1c21c6aa0626 (patch) | |
tree | c6ec70bcf1c72d56d0c92fb5cc2c064111ba1476 | |
parent | c597f4bff14b11cc2d3fd9139b2afcff8a79cc1b (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.cpp | 6 |
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(); |