From 81ccc3118d53a2e09e64ce4b750cf9dd7cbc9b5a Mon Sep 17 00:00:00 2001 From: George Hazan Date: Thu, 27 Jan 2022 20:19:23 +0300 Subject: =?UTF-8?q?fixes=20#3016=20(=D0=9D=D0=B0=D0=B7=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB=D0=BE=D0=B2?= =?UTF-8?q?=20=D1=82=D0=B0=D0=BA=20=D0=B8=20=D0=BD=D0=B5=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=D1=8F=D1=82=D1=81=D1=8F)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/m_srmm_int.h | 2 +- libs/win32/mir_app.lib | Bin 223922 -> 223922 bytes libs/win64/mir_app.lib | Bin 219646 -> 219646 bytes plugins/IEView/src/ieview_main.cpp | 2 +- plugins/NewStory/src/main.cpp | 2 +- plugins/Scriver/src/srmm.cpp | 2 +- plugins/TabSRMM/src/srmm.cpp | 2 +- src/core/stdmsg/src/srmm.cpp | 2 +- src/mir_app/src/mir_app.def | 2 +- src/mir_app/src/srmm_log.cpp | 16 +++++++++------- src/mir_app/src/srmm_log_hpp.cpp | 2 +- 11 files changed, 17 insertions(+), 15 deletions(-) diff --git a/include/m_srmm_int.h b/include/m_srmm_int.h index 68f9dc2414..c3126aab61 100644 --- a/include/m_srmm_int.h +++ b/include/m_srmm_int.h @@ -138,7 +138,7 @@ public: typedef CSrmmLogWindow *(MIR_CDECL *pfnSrmmLogCreator)(CMsgDialog &pDlg); -EXTERN_C MIR_APP_DLL(HANDLE) RegisterSrmmLog(const char *pszShortName, const wchar_t *pwszScreenName, pfnSrmmLogCreator fnBuilder); +EXTERN_C MIR_APP_DLL(HANDLE) RegisterSrmmLog(CMPlugin *pPlugin, const char *pszShortName, const wchar_t *pwszScreenName, pfnSrmmLogCreator fnBuilder); EXTERN_C MIR_APP_DLL(void) UnregisterSrmmLog(HANDLE); ///////////////////////////////////////////////////////////////////////////////////////// diff --git a/libs/win32/mir_app.lib b/libs/win32/mir_app.lib index 600c648a6e..5953a2d9d8 100644 Binary files a/libs/win32/mir_app.lib and b/libs/win32/mir_app.lib differ diff --git a/libs/win64/mir_app.lib b/libs/win64/mir_app.lib index d414d547c8..18fc2ae0a0 100644 Binary files a/libs/win64/mir_app.lib and b/libs/win64/mir_app.lib differ diff --git a/plugins/IEView/src/ieview_main.cpp b/plugins/IEView/src/ieview_main.cpp index c5ae7c3dca..a1baed139c 100644 --- a/plugins/IEView/src/ieview_main.cpp +++ b/plugins/IEView/src/ieview_main.cpp @@ -94,7 +94,7 @@ int CMPlugin::Load() workingDirUtf8 = mir_utf8encodeW(workingDir); delete[] workingDir; - hLogger = RegisterSrmmLog("ieview", L"IEView", &logBuilder); + hLogger = RegisterSrmmLog(this, "ieview", L"IEView", &logBuilder); HookEvent(ME_OPT_INITIALISE, IEViewOptInit); HookEvent(ME_SYSTEM_MODULESLOADED, ModulesLoaded); diff --git a/plugins/NewStory/src/main.cpp b/plugins/NewStory/src/main.cpp index d86fce7cfb..cfde3a75d8 100644 --- a/plugins/NewStory/src/main.cpp +++ b/plugins/NewStory/src/main.cpp @@ -96,7 +96,7 @@ int CMPlugin::Load() bDrawEdge = g_bOptDrawEdge; bMsgGrouping = g_bOptGrouping; - m_log = RegisterSrmmLog(MODULETITLE, _T(MODULENAME), NewStory_Stub); + m_log = RegisterSrmmLog(this, MODULETITLE, _T(MODULENAME), NewStory_Stub); HookEvent(ME_OPT_INITIALISE, OptionsInitialize); HookEvent(ME_SYSTEM_MODULESLOADED, evtModulesLoaded); diff --git a/plugins/Scriver/src/srmm.cpp b/plugins/Scriver/src/srmm.cpp index 7d60777049..c273300572 100644 --- a/plugins/Scriver/src/srmm.cpp +++ b/plugins/Scriver/src/srmm.cpp @@ -124,7 +124,7 @@ int CMPlugin::Load() if (IsWinVer7Plus()) CoCreateInstance(CLSID_TaskbarList, nullptr, CLSCTX_ALL, IID_ITaskbarList3, (void**)&pTaskbarInterface); - hLogger = RegisterSrmmLog("built-in", LPGENW("Scriver internal log"), &logBuilder); + hLogger = RegisterSrmmLog(this, "built-in", LPGENW("Scriver internal log"), &logBuilder); switch (getByte("UseIEView", -1)) { case 1: diff --git a/plugins/TabSRMM/src/srmm.cpp b/plugins/TabSRMM/src/srmm.cpp index 6d7dfa9114..c906c220c1 100644 --- a/plugins/TabSRMM/src/srmm.cpp +++ b/plugins/TabSRMM/src/srmm.cpp @@ -65,7 +65,7 @@ int CMPlugin::Load() { SystemParametersInfo(SPI_GETICONTITLELOGFONT, sizeof(lfDefault), &lfDefault, FALSE); - hLogger = RegisterSrmmLog("built-in", LPGENW("tabSRMM internal log"), &logBuilder); + hLogger = RegisterSrmmLog(this, "built-in", LPGENW("tabSRMM internal log"), &logBuilder); Chat_Load(); diff --git a/src/core/stdmsg/src/srmm.cpp b/src/core/stdmsg/src/srmm.cpp index 0fab11b8fb..c1be7a2113 100644 --- a/src/core/stdmsg/src/srmm.cpp +++ b/src/core/stdmsg/src/srmm.cpp @@ -52,7 +52,7 @@ extern "C" __declspec(dllexport) const MUUID MirandaInterfaces[] = { MIID_SRMM, int CMPlugin::Load() { - hLogger = RegisterSrmmLog("built-in", LPGENW("StdMsg internal log"), &logBuilder); + hLogger = RegisterSrmmLog(this, "built-in", LPGENW("StdMsg internal log"), &logBuilder); Load_ChatModule(); return LoadSendRecvMessageModule(); diff --git a/src/mir_app/src/mir_app.def b/src/mir_app/src/mir_app.def index 174144ffcc..be81fe60de 100644 --- a/src/mir_app/src/mir_app.def +++ b/src/mir_app/src/mir_app.def @@ -715,7 +715,7 @@ UnregisterHppLogger @786 ?ScrollToBottom@CRtfLogWindow@@UAEXXZ @802 NONAME ?UpdateOptions@CSrmmLogWindow@@UAEXXZ @803 NONAME ?WndProc@CRtfLogWindow@@UAEHIIJ@Z @804 NONAME -_RegisterSrmmLog@12 @805 NONAME +_RegisterSrmmLog@16 @805 NONAME _UnregisterSrmmLog@4 @806 NONAME ?GetType@CRtfLogWindow@@UAEHXZ @807 NONAME _WebSocket_InitHeader@12 @809 NONAME diff --git a/src/mir_app/src/srmm_log.cpp b/src/mir_app/src/srmm_log.cpp index 9bad198915..fe2770cd4e 100644 --- a/src/mir_app/src/srmm_log.cpp +++ b/src/mir_app/src/srmm_log.cpp @@ -29,12 +29,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. struct LoggerClass { - LoggerClass(const char *p1, const wchar_t *p2, pfnSrmmLogCreator p3) : - szShortName(mir_strdup(p1)), - wszScreenName(mir_wstrdup(p2)), - pfnBuilder(p3) + LoggerClass(CMPlugin *p1, const char *p2, const wchar_t *p3, pfnSrmmLogCreator p4) : + pPlugin(p1), + szShortName(mir_strdup(p2)), + wszScreenName(mir_wstrdup(p3)), + pfnBuilder(p4) {} + CMPlugin *pPlugin; ptrA szShortName; ptrW wszScreenName; pfnSrmmLogCreator pfnBuilder; @@ -123,7 +125,7 @@ public: ptrA szCurr(db_get_sa(0, "SRMM", "Logger", "built-in")); for (auto &it : g_arLogClasses) { - int idx = m_list.AddString(it->wszScreenName, LPARAM(it)); + int idx = m_list.AddString(TranslateW_LP(it->wszScreenName, it->pPlugin), LPARAM(it)); if (!mir_strcmp(szCurr, it->szShortName)) m_list.SetCurSel(idx); } @@ -172,12 +174,12 @@ void SrmmLogOptionsInit(WPARAM wParam) ///////////////////////////////////////////////////////////////////////////////////////// -MIR_APP_DLL(HANDLE) RegisterSrmmLog(const char *pszShortName, const wchar_t *pwszScreenName, pfnSrmmLogCreator fnBuilder) +MIR_APP_DLL(HANDLE) RegisterSrmmLog(CMPlugin *pPlugin, const char *pszShortName, const wchar_t *pwszScreenName, pfnSrmmLogCreator fnBuilder) { if (!pszShortName || !pwszScreenName || !fnBuilder) return nullptr; - auto *p = new LoggerClass(pszShortName, pwszScreenName, fnBuilder); + auto *p = new LoggerClass(pPlugin, pszShortName, pwszScreenName, fnBuilder); g_arLogClasses.insert(p); if (pDialog) diff --git a/src/mir_app/src/srmm_log_hpp.cpp b/src/mir_app/src/srmm_log_hpp.cpp index 10e1beacb6..65eef1bfa5 100644 --- a/src/mir_app/src/srmm_log_hpp.cpp +++ b/src/mir_app/src/srmm_log_hpp.cpp @@ -218,7 +218,7 @@ static CSrmmLogWindow *logBuilder(CMsgDialog &pDlg) MIR_APP_DLL(void) RegisterHppLogger() { - hLogger = RegisterSrmmLog("hpp", L"History++", &logBuilder); + hLogger = RegisterSrmmLog(&g_plugin, "hpp", L"History++", &logBuilder); } MIR_APP_DLL(void) UnregisterHppLogger() -- cgit v1.2.3