https://git.reactos.org/?p=reactos.git;a=commitdiff;h=98050f91390e1fc6f7034…
commit 98050f91390e1fc6f7034c0033c44a66f1fd9f6e
Author: Katayama Hirofumi MZ <katayama.hirofumi.mz(a)gmail.com>
AuthorDate: Fri Sep 22 07:35:03 2023 +0900
Commit: GitHub <noreply(a)github.com>
CommitDate: Fri Sep 22 07:35:03 2023 +0900
[MSPAINT] Don't copy bits on resizing (#5716)
- Fix the graphical glitches on resizing and moving toolbars.
- Add SWP_NOCOPYBITS flag on positioning controls on resizing of main window.
CORE-19137
---
base/applications/mspaint/winproc.cpp | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/base/applications/mspaint/winproc.cpp
b/base/applications/mspaint/winproc.cpp
index 8a6e259b12f..8f9e0ca9b31 100644
--- a/base/applications/mspaint/winproc.cpp
+++ b/base/applications/mspaint/winproc.cpp
@@ -77,6 +77,7 @@ void CMainWindow::alignChildrenToMainWindow()
RECT clientRect, rc;
GetClientRect(&clientRect);
RECT rcSpace = clientRect;
+ const UINT uFlags = (SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOREPOSITION |
SWP_NOCOPYBITS);
if (::IsWindowVisible(g_hStatusBar))
{
@@ -93,7 +94,7 @@ void CMainWindow::alignChildrenToMainWindow()
hDWP = ::DeferWindowPos(hDWP, toolBoxContainer, NULL,
rcSpace.right - CX_TOOLBAR, rcSpace.top,
CX_TOOLBAR, rcSpace.bottom - rcSpace.top,
- SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOREPOSITION);
+ uFlags);
rcSpace.right -= CX_TOOLBAR;
}
else
@@ -101,7 +102,7 @@ void CMainWindow::alignChildrenToMainWindow()
hDWP = ::DeferWindowPos(hDWP, toolBoxContainer, NULL,
rcSpace.left, rcSpace.top,
CX_TOOLBAR, rcSpace.bottom - rcSpace.top,
- SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOREPOSITION);
+ uFlags);
rcSpace.left += CX_TOOLBAR;
}
}
@@ -113,7 +114,7 @@ void CMainWindow::alignChildrenToMainWindow()
hDWP = ::DeferWindowPos(hDWP, paletteWindow, NULL,
rcSpace.left, rcSpace.bottom - CY_PALETTE,
rcSpace.right - rcSpace.left, CY_PALETTE,
- SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOREPOSITION);
+ uFlags);
rcSpace.bottom -= CY_PALETTE;
}
else
@@ -121,7 +122,7 @@ void CMainWindow::alignChildrenToMainWindow()
hDWP = ::DeferWindowPos(hDWP, paletteWindow, NULL,
rcSpace.left, rcSpace.top,
rcSpace.right - rcSpace.left, CY_PALETTE,
- SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOREPOSITION);
+ uFlags);
rcSpace.top += CY_PALETTE;
}
}
@@ -131,7 +132,7 @@ void CMainWindow::alignChildrenToMainWindow()
hDWP = ::DeferWindowPos(hDWP, canvasWindow, NULL,
rcSpace.left, rcSpace.top,
rcSpace.right - rcSpace.left, rcSpace.bottom -
rcSpace.top,
- SWP_NOZORDER | SWP_NOACTIVATE | SWP_NOREPOSITION);
+ uFlags);
}
::EndDeferWindowPos(hDWP);