[PATCH] user32: Don't draw a close button if it doesn't exist.

Zhiyi Zhang zzhang at codeweavers.com
Mon Oct 29 02:27:34 CDT 2018


Signed-off-by: Zhiyi Zhang <zzhang at codeweavers.com>
---
 dlls/user32/nonclient.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/dlls/user32/nonclient.c b/dlls/user32/nonclient.c
index 4444a2c91e..eec4d2abed 100644
--- a/dlls/user32/nonclient.c
+++ b/dlls/user32/nonclient.c
@@ -892,10 +892,12 @@ static void  NC_DrawCaption( HDC  hdc, RECT *rect, HWND hwnd, DWORD  style,
         hSysMenu = GetSystemMenu(hwnd, FALSE);
         state = GetMenuState(hSysMenu, SC_CLOSE, MF_BYCOMMAND);
 
-        /* Draw a grayed close button if disabled or if SC_CLOSE is not there */
-        NC_DrawCloseButton (hwnd, hdc, FALSE,
-                            (state & (MF_DISABLED | MF_GRAYED)) || (state == 0xFFFFFFFF));
-        r.right -= GetSystemMetrics(SM_CYCAPTION) - 1;
+        /* Draw a grayed close button if disabled */
+        if (state != 0xFFFFFFFF)
+        {
+            NC_DrawCloseButton (hwnd, hdc, FALSE, state & (MF_DISABLED | MF_GRAYED));
+            r.right -= GetSystemMetrics(SM_CYCAPTION) - 1;
+        }
 
         if ((style & WS_MAXIMIZEBOX) || (style & WS_MINIMIZEBOX))
         {
-- 
2.19.1




More information about the wine-devel mailing list