aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/virtualkeyboard/lipisharedrecognizer.cpp11
-rw-r--r--src/virtualkeyboard/lipisharedrecognizer.h2
2 files changed, 10 insertions, 3 deletions
diff --git a/src/virtualkeyboard/lipisharedrecognizer.cpp b/src/virtualkeyboard/lipisharedrecognizer.cpp
index feede348..8335fdaf 100644
--- a/src/virtualkeyboard/lipisharedrecognizer.cpp
+++ b/src/virtualkeyboard/lipisharedrecognizer.cpp
@@ -36,7 +36,7 @@
#include <QtCore/QLibraryInfo>
int LipiSharedRecognizer::s_lipiEngineRefCount = 0;
-const QString LipiSharedRecognizer::s_lipiRoot = QDir(QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/lipi_toolkit").absolutePath();
+QString LipiSharedRecognizer::s_lipiRoot;
void *LipiSharedRecognizer::s_lipiEngineHandle = 0;
LipiSharedRecognizer::FN_PTR_CREATELTKLIPIENGINE LipiSharedRecognizer::s_createLTKLipiEngine = 0;
LipiSharedRecognizer::FN_PTR_DELETELTKLIPIENGINE LipiSharedRecognizer::s_deleteLTKLipiEngine = 0;
@@ -162,7 +162,14 @@ int LipiSharedRecognizer::loadLipiInterface()
VIRTUALKEYBOARD_DEBUG() << "LipiSharedRecognizer::loadLipiInterface():" << s_lipiEngineRefCount;
if (++s_lipiEngineRefCount == 1) {
- qputenv("LIPI_ROOT", s_lipiRoot.toLatin1());
+ if (s_lipiRoot.isEmpty()) {
+ if (qEnvironmentVariableIsEmpty("LIPI_ROOT")) {
+ s_lipiRoot = QDir(QLibraryInfo::location(QLibraryInfo::DataPath) + "/qtvirtualkeyboard/lipi_toolkit").absolutePath();
+ qputenv("LIPI_ROOT", s_lipiRoot.toLatin1());
+ } else {
+ s_lipiRoot = qgetenv("LIPI_ROOT");
+ }
+ }
QScopedPointer<LTKOSUtil> osUtil(LTKOSUtilFactory::getInstance());
const string lipiRootPath(QDir::toNativeSeparators(s_lipiRoot).toStdString());
diff --git a/src/virtualkeyboard/lipisharedrecognizer.h b/src/virtualkeyboard/lipisharedrecognizer.h
index 2ce7a69f..779e6e55 100644
--- a/src/virtualkeyboard/lipisharedrecognizer.h
+++ b/src/virtualkeyboard/lipisharedrecognizer.h
@@ -60,7 +60,7 @@ private:
typedef void (*FN_PTR_DELETELTKLIPIENGINE)(void);
static int s_lipiEngineRefCount;
- const static QString s_lipiRoot;
+ static QString s_lipiRoot;
static void *s_lipiEngineHandle;
static FN_PTR_CREATELTKLIPIENGINE s_createLTKLipiEngine;
static FN_PTR_DELETELTKLIPIENGINE s_deleteLTKLipiEngine;