Remove duplicated locales
authorHokwon Song <hokwon.song@samsung.com>
Thu, 30 May 2013 07:47:44 +0000 (16:47 +0900)
committerHokwon Song <hokwon.song@samsung.com>
Thu, 30 May 2013 07:47:44 +0000 (16:47 +0900)
Change-Id: I2a490e51dbfdb97ef065dc0161ca5d7892a3260a
Signed-off-by: Hokwon Song <hokwon.song@samsung.com>
src/locales/FLcl_LocaleManagerImpl.cpp

index a6eb7cb..a378dd5 100644 (file)
@@ -210,10 +210,13 @@ _LocaleManagerImpl::GetAvailableLanguagesN(void)
                        std::unique_ptr<String> pLanguageLocaleID(new (std::nothrow) String(loc.GetLanguageCodeString()));
                        SysTryReturn(NID_LCL, pLanguageLocaleID, null, E_OUT_OF_MEMORY,"[%s] Memory allocation failed",GetErrorMessage(E_OUT_OF_MEMORY));
 
-                       result r = pAvailableLanguageList->Add(pLanguageLocaleID.get());
-                       SysTryReturn(NID_LCL, r == E_SUCCESS, null, E_SYSTEM,
+                       if (!pAvailableLanguageList->Contains(*(pLanguageLocaleID.get())))
+                       {
+                               result r = pAvailableLanguageList->Add(pLanguageLocaleID.get());
+                               SysTryReturn(NID_LCL, r == E_SUCCESS, null, E_SYSTEM,
                                        "[%s] It is failed to add a locale string [%ls].", GetErrorMessage(E_SYSTEM), pLanguageLocaleID->GetPointer());
-                       pLanguageLocaleID.release();
+                               pLanguageLocaleID.release();
+                       }
                }
        }