summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-04-14 14:29:37 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-04-14 14:29:37 +0300
commitbdf9b26bff9153bd5ee8fe186a370a4fbf33221a (patch)
tree701353da7e54e080c53de9f5c482d6b023baed33 /src
parentf50127c635c82f76249e9ad7446e7349a78a0cce (diff)
prevent CDlgBase from executing useless resize attempts
Diffstat (limited to 'src')
-rw-r--r--src/mir_core/src/Windows/CDlgBase.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mir_core/src/Windows/CDlgBase.cpp b/src/mir_core/src/Windows/CDlgBase.cpp
index ac71f76d4e..40b762ced8 100644
--- a/src/mir_core/src/Windows/CDlgBase.cpp
+++ b/src/mir_core/src/Windows/CDlgBase.cpp
@@ -247,6 +247,8 @@ INT_PTR CDlgBase::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
m_bInitialized = m_bSucceeded = false;
TranslateDialog_LP(m_hwnd, &m_pPlugin);
+ GetClientRect(m_hwnd, &m_rcPrev);
+
::EnumChildWindows(m_hwnd, &GlobalFieldEnum, LPARAM(this));
NotifyControls(&CCtrlBase::OnInit);
@@ -399,7 +401,12 @@ INT_PTR CDlgBase::DlgProc(UINT msg, WPARAM wParam, LPARAM lParam)
break;
case WM_SIZE:
- OnResize();
+ RECT rc;
+ GetClientRect(m_hwnd, &rc);
+ if (memcmp(&m_rcPrev, &rc, sizeof(RECT))) {
+ OnResize();
+ m_rcPrev = rc;
+ }
return TRUE;
case WM_TIMER: