Zhiyi Zhang : comctl32/button: Avoid push button content covering frames.
Alexandre Julliard
julliard at winehq.org
Wed Sep 5 16:15:27 CDT 2018
Module: wine
Branch: master
Commit: 790d13ee980eb083e108fb74d61eca13f5012340
URL: https://source.winehq.org/git/wine.git/?a=commit;h=790d13ee980eb083e108fb74d61eca13f5012340
Author: Zhiyi Zhang <zzhang at codeweavers.com>
Date: Wed Sep 5 22:58:05 2018 +0800
comctl32/button: Avoid push button content covering frames.
A focus frame may be covered by content in the push button.
Shrink the label rectangle before layout calculation so that
content can never cover the frame.
Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/comctl32/button.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dlls/comctl32/button.c b/dlls/comctl32/button.c
index 653586a..2fa18f4 100644
--- a/dlls/comctl32/button.c
+++ b/dlls/comctl32/button.c
@@ -1250,6 +1250,8 @@ static void PB_Paint( const BUTTON_INFO *infoPtr, HDC hDC, UINT action )
/* draw button label */
labelRect = rc;
+ /* Shrink label rect at all sides by 2 so that the content won't touch the surrounding frame */
+ InflateRect(&labelRect, -2, -2);
dtFlags = BUTTON_CalcLayoutRects(infoPtr, hDC, &labelRect, &imageRect, &textRect);
if (dtFlags == (UINT)-1L)
More information about the wine-cvs
mailing list