From d77cd7730ff36f38b9a8a8619c8b801646f7b928 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Fri, 27 Apr 2018 22:28:15 +0200 Subject: fixes #1310 (Wrong language after profile conversion) --- include/m_db_int.h | 1 + plugins/Db3x_mmap/src/init.cpp | 2 -- plugins/Import/src/import.cpp | 1 + src/mir_app/src/miranda.h | 1 - src/mir_core/src/db.cpp | 4 +++- 5 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/m_db_int.h b/include/m_db_int.h index b549291385..d53fc6b2bd 100644 --- a/include/m_db_int.h +++ b/include/m_db_int.h @@ -235,6 +235,7 @@ EXTERN_C MIR_CORE_DLL(DBCachedContact*) db_get_contact(MCONTACT); // Database list's functions EXTERN_C MIR_CORE_DLL(MDatabaseCommon*) db_get_current(void); +EXTERN_C MIR_CORE_DLL(void) db_setCurrent(MDatabaseCommon *_db); // registers a database plugin EXTERN_C MIR_APP_DLL(void) RegisterDatabasePlugin(DATABASELINK *pDescr); diff --git a/plugins/Db3x_mmap/src/init.cpp b/plugins/Db3x_mmap/src/init.cpp index 587b79253b..c2860ecfef 100644 --- a/plugins/Db3x_mmap/src/init.cpp +++ b/plugins/Db3x_mmap/src/init.cpp @@ -23,8 +23,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "stdafx.h" -EXTERN_C MIR_CORE_DLL(void) db_setCurrent(MIDatabase* _db); - int hLangpack; static PLUGININFOEX pluginInfo = diff --git a/plugins/Import/src/import.cpp b/plugins/Import/src/import.cpp index 08ba83bee9..752400ecc8 100644 --- a/plugins/Import/src/import.cpp +++ b/plugins/Import/src/import.cpp @@ -1137,6 +1137,7 @@ void MirandaImport(HWND hdlg) // Restore database writing mode dstDb->SetCacheSafetyMode(TRUE); + db_setCurrent(dstDb); // Clean up before exit delete srcDb; diff --git a/src/mir_app/src/miranda.h b/src/mir_app/src/miranda.h index e1674f4b06..645fd36013 100644 --- a/src/mir_app/src/miranda.h +++ b/src/mir_app/src/miranda.h @@ -201,5 +201,4 @@ extern "C" { MIR_CORE_DLL(int) Langpack_MarkPluginLoaded(PLUGININFOEX* pInfo); MIR_CORE_DLL(int) GetSubscribersCount(struct THook *hHook); - MIR_CORE_DLL(void) db_setCurrent(MDatabaseCommon *_db); }; diff --git a/src/mir_core/src/db.cpp b/src/mir_core/src/db.cpp index 04efa68510..69e998c53c 100644 --- a/src/mir_core/src/db.cpp +++ b/src/mir_core/src/db.cpp @@ -437,9 +437,11 @@ MIR_CORE_DLL(MCONTACT) db_find_next(MCONTACT hContact, const char *szProto) return (currDb == nullptr) ? NULL : currDb->FindNextContact(hContact, szProto); } -extern "C" MIR_CORE_DLL(void) db_setCurrent(MDatabaseCommon *_db) +MIR_CORE_DLL(void) db_setCurrent(MDatabaseCommon *_db) { currDb = _db; + if (currDb == nullptr) + return; // try to get the langpack's name from a profile ptrW langpack(db_get_wsa(NULL, "Langpack", "Current")); -- cgit v1.2.3