diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-03-05 14:25:45 +0100 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2019-03-05 18:34:19 +0000 |
commit | f792fed2ff519ffac1436e41e47cc0504d253a77 (patch) | |
tree | 9815d3ed87bcdd2a36a8955b52ed5bb49643b7ae /src/plugins/platforminputcontexts/compose | |
parent | 1b5dbebb935dca88c74aceb3cde4367ac63f6c34 (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.cpp | 4 |
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); |