diff options
Diffstat (limited to 'src/mir_app')
-rw-r--r-- | src/mir_app/src/lpopts.cpp | 5 | ||||
-rw-r--r-- | src/mir_app/src/srmm_log.cpp | 16 |
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;
}
|