From 554346643f6b22f4d0c2420034a39d61b62feaa3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 6 Jul 2014 21:53:58 +0000 Subject: attempt to fix #721 git-svn-id: http://svn.miranda-ng.org/main/trunk@9717 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/mir_core/langpack.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/mir_core/langpack.cpp b/src/mir_core/langpack.cpp index 6b15feca74..43f0a42119 100644 --- a/src/mir_core/langpack.cpp +++ b/src/mir_core/langpack.cpp @@ -641,14 +641,17 @@ MIR_CORE_DLL(int) LoadLangPackModule(void) hevChanged = CreateHookableEvent(ME_LANGPACK_CHANGED); // look into mirandaboot.ini - TCHAR tszDefaultLang[100], tszPath[MAX_PATH]; + TCHAR tszDefaultLang[100], tszPath[MAX_PATH], tszRoot[MAX_PATH]; PathToAbsoluteT(_T("\\mirandaboot.ini"), tszPath); if (GetPrivateProfileString(_T("Language"), _T("DefaultLanguage"), _T(""), tszDefaultLang, SIZEOF(tszDefaultLang), tszPath)) if (!LoadLangPack(tszDefaultLang)) return 0; // finally try to load first file - PathToAbsoluteT(_T("\\Languages\\langpack_*.txt"), tszPath); + PathToAbsoluteT(_T("\\Languages"), tszRoot); + if (_taccess(tszRoot, 0) != 0) // directory Languages exists + PathToAbsoluteT(_T("."), tszRoot); + mir_sntprintf(tszPath, SIZEOF(tszPath), _T("%s\\langpack_*.txt"), tszRoot); WIN32_FIND_DATA fd; HANDLE hFind = FindFirstFile(tszPath, &fd); @@ -658,8 +661,9 @@ MIR_CORE_DLL(int) LoadLangPackModule(void) if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) continue; - if (!LoadLangPack(fd.cFileName)) { - db_set_ws(NULL, "Langpack", "Current", fd.cFileName); + mir_sntprintf(tszPath, SIZEOF(tszPath), _T("%s\\%s"), tszRoot, fd.cFileName); + if (!LoadLangPack(tszPath)) { + db_set_ts(NULL, "Langpack", "Current", fd.cFileName); break; } } -- cgit v1.2.3