diff options
| author | George Hazan <ghazan@miranda.im> | 2017-11-03 19:17:10 +0300 | 
|---|---|---|
| committer | George Hazan <ghazan@miranda.im> | 2017-11-03 19:17:16 +0300 | 
| commit | 08f58817dda88e6c57fe581bef4132a41462d480 (patch) | |
| tree | 3d860b479af8f2375961275d90026f52d0ffe445 | |
| parent | 1b1e6455fa79f2f6993115f9afbb506a5f93e315 (diff) | |
tabSRMM: we don't close window if it has active splitter
| -rw-r--r-- | plugins/TabSRMM/src/chat_window.cpp | 3 | ||||
| -rw-r--r-- | plugins/TabSRMM/src/msgdialog.cpp | 16 | 
2 files changed, 13 insertions, 6 deletions
diff --git a/plugins/TabSRMM/src/chat_window.cpp b/plugins/TabSRMM/src/chat_window.cpp index 58bb9dce6e..1bc1ae0706 100644 --- a/plugins/TabSRMM/src/chat_window.cpp +++ b/plugins/TabSRMM/src/chat_window.cpp @@ -2309,6 +2309,9 @@ 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) {  				SendMessage(m_pContainer->m_hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);  				return TRUE; diff --git a/plugins/TabSRMM/src/msgdialog.cpp b/plugins/TabSRMM/src/msgdialog.cpp index 2606353dc7..b2046d2473 100644 --- a/plugins/TabSRMM/src/msgdialog.cpp +++ b/plugins/TabSRMM/src/msgdialog.cpp @@ -3001,13 +3001,17 @@ INT_PTR CSrmmWindow::DlgProc(UINT uMsg, WPARAM wParam, LPARAM lParam)  		return 0;
  	case WM_CLOSE:
 -		// esc handles error controls if we are in error state (error controls visible)
 -		if (wParam == 0 && lParam == 0 && m_dwFlags & MWF_ERRORSTATE) {
 -			DM_ErrorDetected(MSGERROR_CANCEL, 0);
 -			return TRUE;
 -		}
 -
 +		// usual close, not forced
  		if (wParam == 0 && lParam == 0) {
 +			// esc handles error controls if we are in error state (error controls visible)
 +			if (m_dwFlags & MWF_ERRORSTATE) {
 +				DM_ErrorDetected(MSGERROR_CANCEL, 0);
 +				return TRUE;
 +			}
 +			
 +			if (GetCapture() != nullptr)
 +				return TRUE;
 +
  			if (PluginConfig.m_EscapeCloses == 1) {
  				SendMessage(m_pContainer->m_hwnd, WM_SYSCOMMAND, SC_MINIMIZE, 0);
  				return TRUE;
  | 
