summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforminputcontexts/compose
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-03-05 14:25:45 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2019-03-05 18:34:19 +0000
commitf792fed2ff519ffac1436e41e47cc0504d253a77 (patch)
tree9815d3ed87bcdd2a36a8955b52ed5bb49643b7ae /src/plugins/platforminputcontexts/compose
parent1b5dbebb935dca88c74aceb3cde4367ac63f6c34 (diff)
XCB/libxkbcommon input context: Fix crash when invalid local is set
Fall back to querying the locale. Fixes: QTBUG-74216 Change-Id: Ibd60572454741e64f649ecc3e37f593a8e2b2bda Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/plugins/platforminputcontexts/compose')
-rw-r--r--src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp b/src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp
index 6b9687c22d..57fe7c2fa2 100644
--- a/src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp
+++ b/src/plugins/platforminputcontexts/compose/qcomposeplatforminputcontext.cpp
@@ -70,7 +70,9 @@ void QComposeInputContext::ensureInitialized()
}
m_initialized = true;
- const char *const locale = setlocale(LC_CTYPE, "");
+ const char *locale = setlocale(LC_CTYPE, "");
+ if (!locale)
+ locale = setlocale(LC_CTYPE, nullptr);
qCDebug(lcXkbCompose) << "detected locale (LC_CTYPE):" << locale;
m_composeTable = xkb_compose_table_new_from_locale(m_XkbContext, locale, XKB_COMPOSE_COMPILE_NO_FLAGS);