1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-04-21 21:52:03 +02:00
jami-client-qt/extras/packaging/gnu-linux/rules/debian-qt/patches/0001-qtbug-101201-fatal-error-getcurrenkeyboard.patch
Sébastien Blin 3349b7deff packaging: migrate packaging scripts in client-qt
This patch moves already existing packaging scripts from jami-project
into client-qt.
Introduced changes are:
+ WITH_SUBMODULE must search in system lib too because for
packaging client-qt (for rpm) will be built separately, and will
depend on jami-daemon.
+ Fix appdata.xml (replace old wiki with docs.jami.net)
+ path changes (because we build in client-qt not jami-project).

GitLab: #853
Change-Id: I1313830d85c8094fcbcc52e22033a2add7b1e89f
2022-12-20 11:17:00 -05:00

59 lines
No EOL
2 KiB
Diff

Subject: [PATCH] Fix fatal error in getCurrentKeyboardLayout()
FATAL:xkb_keyboard_layout_engine.cc(640)] Keymap file failed to load: dk(polytonic)
Remove unnecessary tokenization of XKB layout.
Parsing of layout configuration is already handled by
XkbKeyboardLayoutEngine::ParseLayoutName().
Fixes: QTBUG-101201
Task-number: QTBUG-92971
Pick-to: 6.2 6.3
Change-Id: Ia4f09ed99eb82064a3b12e14eda69a6e0e12b0dd
Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
---
.../src/core/ozone/ozone_platform_qt.cpp | 24 ++++---------------
1 file changed, 5 insertions(+), 19 deletions(-)
diff --git a/qtwebengine/src/core/ozone/ozone_platform_qt.cpp b/qtwebengine/src/core/ozone/ozone_platform_qt.cpp
index 33d7bd992b..543e4bd371 100644
--- a/qtwebengine/src/core/ozone/ozone_platform_qt.cpp
+++ b/qtwebengine/src/core/ozone/ozone_platform_qt.cpp
@@ -184,29 +184,15 @@ static std::string getCurrentKeyboardLayout()
if (XkbRF_GetNamesProp(dpy, nullptr, &vdr) == 0)
return std::string();
- char *layout = strtok(vdr.layout, ",");
- for (int i = 0; i < state.group; i++) {
- layout = strtok(nullptr, ",");
- if (layout == nullptr)
- return std::string();
- }
+ if (!vdr.layout)
+ return std::string();
if (!vdr.variant)
- return layout;
-
- char *variant = strtok(vdr.variant, ",");
- if (!variant)
- return layout;
-
- for (int i = 0; i < state.group; i++) {
- variant = strtok(nullptr, ",");
- if (variant == nullptr)
- return layout;
- }
+ return std::string(vdr.layout);
- std::string layoutWithVariant = layout;
+ std::string layoutWithVariant = vdr.layout;
layoutWithVariant = layoutWithVariant.append("-");
- layoutWithVariant = layoutWithVariant.append(variant);
+ layoutWithVariant = layoutWithVariant.append(vdr.variant);
return layoutWithVariant;
}
#endif // BUILDFLAG(USE_XKBCOMMON)
--
2.35.3