From 2f72d564c906a4a4ff64bc6b92bb9abe64f9c6dd Mon Sep 17 00:00:00 2001 From: Jarkko Koivikko Date: Sun, 20 May 2018 20:51:13 +0300 Subject: Fix encoding of path environment variables This change modifies encoding of the following environment variables: - QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATH - QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY - QT_VIRTUALKEYBOARD_CANGJIE_DICTIONARY - QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY - QT_VIRTUALKEYBOARD_PHRASE_DICTIONARY - QT_VIRTUALKEYBOARD_LAYOUT_PATH - LIPI_ROOT - LIPI_LIB Previously they were read using qgetenv and latin1 encoding. Now they are read using qEnvironmentVariable, which handles the encoding properly. [ChangeLog] Fixed encoding of path environment variables. Task-number: QTBUG-62328 Change-Id: I8e32c111a498d3b57259fe6dd96290545f10030a Reviewed-by: Mitch Curtis --- src/virtualkeyboard/hunspellinputmethod_p.cpp | 2 +- src/virtualkeyboard/lipisharedrecognizer.cpp | 4 ++-- src/virtualkeyboard/pinyindecoderservice.cpp | 2 +- src/virtualkeyboard/tcinputmethod.cpp | 6 +++--- src/virtualkeyboard/virtualkeyboardsettings.cpp | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/virtualkeyboard/hunspellinputmethod_p.cpp b/src/virtualkeyboard/hunspellinputmethod_p.cpp index 0f4bc25a..3a97e683 100644 --- a/src/virtualkeyboard/hunspellinputmethod_p.cpp +++ b/src/virtualkeyboard/hunspellinputmethod_p.cpp @@ -71,7 +71,7 @@ bool HunspellInputMethodPrivate::createHunspell(const QString &locale) return false; if (this->locale != locale) { hunspellWorker->removeAllTasks(); - QString hunspellDataPath(QString::fromLatin1(qgetenv("QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATH").constData())); + QString hunspellDataPath(qEnvironmentVariable("QT_VIRTUALKEYBOARD_HUNSPELL_DATA_PATH")); const QString pathListSep( #if defined(Q_OS_WIN32) QStringLiteral(";") diff --git a/src/virtualkeyboard/lipisharedrecognizer.cpp b/src/virtualkeyboard/lipisharedrecognizer.cpp index 156eb8ab..fc5a1ba7 100644 --- a/src/virtualkeyboard/lipisharedrecognizer.cpp +++ b/src/virtualkeyboard/lipisharedrecognizer.cpp @@ -191,11 +191,11 @@ int LipiSharedRecognizer::loadLipiInterface() bool lipiRootVarIsEmpty = qEnvironmentVariableIsEmpty("LIPI_ROOT"); s_lipiRoot = lipiRootVarIsEmpty ? QDir(QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/lipi_toolkit").absolutePath() : - qgetenv("LIPI_ROOT"); + qEnvironmentVariable("LIPI_ROOT"); bool lipiLibVarIsEmpty = qEnvironmentVariableIsEmpty("LIPI_LIB"); if (!lipiLibVarIsEmpty) - s_lipiLib = qgetenv("LIPI_LIB"); + s_lipiLib = qEnvironmentVariable("LIPI_LIB"); else if (!lipiRootVarIsEmpty) s_lipiLib = s_lipiRoot + "/lib"; else diff --git a/src/virtualkeyboard/pinyindecoderservice.cpp b/src/virtualkeyboard/pinyindecoderservice.cpp index d531560a..ea0dc705 100644 --- a/src/virtualkeyboard/pinyindecoderservice.cpp +++ b/src/virtualkeyboard/pinyindecoderservice.cpp @@ -75,7 +75,7 @@ bool PinyinDecoderService::init() if (initDone) return true; - QString sysDict(QString::fromLatin1(qgetenv("QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY").constData())); + QString sysDict(qEnvironmentVariable("QT_VIRTUALKEYBOARD_PINYIN_DICTIONARY")); if (sysDict.isEmpty()) sysDict = QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/pinyin/dict_pinyin.dat"; diff --git a/src/virtualkeyboard/tcinputmethod.cpp b/src/virtualkeyboard/tcinputmethod.cpp index 6628ef7c..27686eda 100644 --- a/src/virtualkeyboard/tcinputmethod.cpp +++ b/src/virtualkeyboard/tcinputmethod.cpp @@ -370,7 +370,7 @@ bool TCInputMethod::setInputMode(const QString &locale, InputEngine::InputMode i #if defined(HAVE_TCIME_CANGJIE) if (inputMode == InputEngine::Cangjie) { if (d->cangjieDictionary.isEmpty()) { - QString cangjieDictionary(QString::fromLatin1(qgetenv("QT_VIRTUALKEYBOARD_CANGJIE_DICTIONARY").constData())); + QString cangjieDictionary(qEnvironmentVariable("QT_VIRTUALKEYBOARD_CANGJIE_DICTIONARY")); if (cangjieDictionary.isEmpty()) cangjieDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/tcime/dict_cangjie.dat"; d->cangjieDictionary.load(cangjieDictionary); @@ -381,7 +381,7 @@ bool TCInputMethod::setInputMode(const QString &locale, InputEngine::InputMode i #if defined(HAVE_TCIME_ZHUYIN) if (inputMode == InputEngine::Zhuyin) { if (d->zhuyinDictionary.isEmpty()) { - QString zhuyinDictionary(QString::fromLatin1(qgetenv("QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY").constData())); + QString zhuyinDictionary(qEnvironmentVariable("QT_VIRTUALKEYBOARD_ZHUYIN_DICTIONARY")); if (zhuyinDictionary.isEmpty()) zhuyinDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/tcime/dict_zhuyin.dat"; d->zhuyinDictionary.load(zhuyinDictionary); @@ -391,7 +391,7 @@ bool TCInputMethod::setInputMode(const QString &locale, InputEngine::InputMode i #endif result = d->wordDictionary && !d->wordDictionary->isEmpty(); if (result && d->phraseDictionary.isEmpty()) { - QString phraseDictionary(QString::fromLatin1(qgetenv("QT_VIRTUALKEYBOARD_PHRASE_DICTIONARY").constData())); + QString phraseDictionary(qEnvironmentVariable("QT_VIRTUALKEYBOARD_PHRASE_DICTIONARY")); if (phraseDictionary.isEmpty()) phraseDictionary = QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/tcime/dict_phrases.dat"; d->phraseDictionary.load(phraseDictionary); diff --git a/src/virtualkeyboard/virtualkeyboardsettings.cpp b/src/virtualkeyboard/virtualkeyboardsettings.cpp index 11ddae2d..d73c3f9b 100644 --- a/src/virtualkeyboard/virtualkeyboardsettings.cpp +++ b/src/virtualkeyboard/virtualkeyboardsettings.cpp @@ -223,7 +223,7 @@ void VirtualKeyboardSettings::resetLayoutPath() { Settings *settings = Settings::instance(); QUrl layoutPath(QT_VIRTUALKEYBOARD_DEFAULT_LAYOUTS_DIR); - const QString customLayoutPath(QDir::fromNativeSeparators(qgetenv("QT_VIRTUALKEYBOARD_LAYOUT_PATH"))); + const QString customLayoutPath(QDir::fromNativeSeparators(qEnvironmentVariable("QT_VIRTUALKEYBOARD_LAYOUT_PATH"))); if (!customLayoutPath.isEmpty()) { bool found = false; QDir customLayoutDirectory(customLayoutPath); -- cgit v1.2.3