summaryrefslogtreecommitdiff
path: root/plugins/TabSRMM/src/chat_window.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/TabSRMM/src/chat_window.cpp')
-rw-r--r--plugins/TabSRMM/src/chat_window.cpp19
1 files changed, 12 insertions, 7 deletions
diff --git a/plugins/TabSRMM/src/chat_window.cpp b/plugins/TabSRMM/src/chat_window.cpp
index b0afb70e66..432692a125 100644
--- a/plugins/TabSRMM/src/chat_window.cpp
+++ b/plugins/TabSRMM/src/chat_window.cpp
@@ -2288,15 +2288,20 @@ INT_PTR CChatRoomDlg::DlgProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
case WM_CLOSE:
if (wParam == 0 && lParam == 0) {
- if (GetCapture() != nullptr)
- return TRUE;
-
- if (PluginConfig.m_EscapeCloses == 1) {
+ switch (PluginConfig.m_EscapeCloses) {
+ case 1: // minimize container
SendMessage(m_pContainer->m_hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
return TRUE;
- }
- if (PluginConfig.m_bHideOnClose && PluginConfig.m_EscapeCloses == 2) {
- ShowWindow(m_pContainer->m_hwnd, SW_HIDE);
+
+ case 2: // close or hide, optionally
+ if (PluginConfig.m_bHideOnClose) {
+ ShowWindow(m_pContainer->m_hwnd, SW_HIDE);
+ return TRUE;
+ }
+ break;
+
+ case 3: // does nothing
+ _dlgReturn(m_hwnd, FALSE);
return TRUE;
}
_dlgReturn(m_hwnd, TRUE);