summaryrefslogtreecommitdiff
path: root/src/mir_app
diff options
context:
space:
mode:
Diffstat (limited to 'src/mir_app')
-rw-r--r--src/mir_app/src/lpopts.cpp5
-rw-r--r--src/mir_app/src/srmm_log.cpp16
2 files changed, 18 insertions, 3 deletions
diff --git a/src/mir_app/src/lpopts.cpp b/src/mir_app/src/lpopts.cpp
index 7444c8e1dc..24818c95b2 100644
--- a/src/mir_app/src/lpopts.cpp
+++ b/src/mir_app/src/lpopts.cpp
@@ -232,9 +232,8 @@ bool CLangpackDlg::OnApply()
ReloadLangpack(tszPath);
if (m_bExiting) {
- HWND hwndParent = GetParent(GetHwnd());
- PostMessage(hwndParent, WM_CLOSE, 1, 0);
- mir_forkthread(ReloadOptions, hwndParent);
+ PostMessage(m_hwndParent, WM_CLOSE, 1, 0);
+ mir_forkthread(ReloadOptions, m_hwndParent);
}
}
return true;
diff --git a/src/mir_app/src/srmm_log.cpp b/src/mir_app/src/srmm_log.cpp
index bbbcc7fac0..b91204a59c 100644
--- a/src/mir_app/src/srmm_log.cpp
+++ b/src/mir_app/src/srmm_log.cpp
@@ -106,6 +106,19 @@ MIR_APP_DLL(bool) Srmm_IsCustomLogUsed()
/////////////////////////////////////////////////////////////////////////////////////////
// options dialog
+static void CALLBACK OpenOptions(void *)
+{
+ g_plugin.openOptions(L"Message sessions", L"Log viewer");
+}
+
+static void ReloadOptions(void *hWnd)
+{
+ while (IsWindow((HWND)hWnd))
+ Sleep(50);
+
+ CallFunctionAsync(OpenOptions, nullptr);
+}
+
static class CSrmmLogOptionsDlg *pDialog = nullptr;
class CSrmmLogOptionsDlg : public CDlgBase
@@ -145,6 +158,9 @@ public:
if (auto *pLogger = (LoggerClass *)m_list.GetItemData(idx))
g_logger = pLogger->szShortName;
+
+ PostMessage(m_hwndParent, WM_CLOSE, 1, 0);
+ mir_forkthread(ReloadOptions, m_hwndParent);
return true;
}