locationsystemui/locationsysui/posindicator/posindicatorplugin/src/posindicator.cpp
changeset 52 4d26d2f138a3
parent 37 e175e2ba2fb0
--- a/locationsystemui/locationsysui/posindicator/posindicatorplugin/src/posindicator.cpp	Mon Sep 27 16:57:22 2010 +0530
+++ b/locationsystemui/locationsysui/posindicator/posindicatorplugin/src/posindicator.cpp	Wed Oct 13 17:19:10 2010 +0530
@@ -44,16 +44,8 @@
         qInstallMsgHandler(ApiLogger::MyOutputHandler);
         #endif
     #endif
-        
+      
     qDebug() << "+ PosIndicatorPlugin::PosIndicatorPlugin()";
-    
-    mTranslator = new QTranslator();
-    
-    QString locale = QLocale::system().name();
-    QString path = "z:/resource/qt/translations/";
-    mTranslator->load(path + QString("lilocationmw_") + locale);
-    qApp->installTranslator(mTranslator);
-        
     mIndicatorTypes.append(typeOfIndicator);
     qDebug() << "- PosIndicatorPlugin::PosIndicatorPlugin()";
 
@@ -95,6 +87,7 @@
         const QString &indicatorType)
 {
 	qDebug() << "+ PosIndicatorPlugin::createIndicator()";
+	InstallTranslator();
 	ApiLogger::NftLogger("Before launching indicator");
     PosIndicator* ind = new PosIndicator( indicatorType );
     ApiLogger::NftLogger("After launching indicator");
@@ -132,6 +125,31 @@
 }
 
 // ---------------------------------------------------------------------------
+// PosIndicatorPlugin::InstallTranslator
+// ---------------------------------------------------------------------------
+//
+void PosIndicatorPlugin::InstallTranslator()
+    {
+    qDebug() << "+ PosIndicator::InstallTranslator()";
+    bool loaded = false;
+    mTranslator = new QTranslator();
+    //if creation fails in Out of Memory Cases then return
+    if (!mTranslator)
+        {
+        return;
+        }
+    QString locale = QLocale::system().name();
+    QString path = "z:/resource/qt/translations/";
+    loaded = mTranslator->load(path + QString("lilocationmw_") + locale);
+    if (loaded)
+        {
+        qApp->installTranslator(mTranslator);
+        }
+    qDebug() << "- PosIndicator::InstallTranslator()";
+    }
+
+
+// ---------------------------------------------------------------------------
 // PosIndicator::PosIndicator
 // ---------------------------------------------------------------------------
 //