From 16d6c9b5e05ffd7a0fff29531f69e18b010124c0 Mon Sep 17 00:00:00 2001 From: Joachim Henze Date: Sat, 2 Jun 2018 12:26:48 +0200 Subject: [PATCH 1/1] [COMCTL32] Fix regression CORE-14649 Fixes a regression that was introduced by Wine Staging 3.3 Sync. Symptom was missing button text and icons for specific buttons in Delphi applications, e.g. Double-Commander, Lazarus, Peazip. The patch restores and ifdef-guards previous changes of Giannis. --- dll/win32/comctl32/button.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dll/win32/comctl32/button.c b/dll/win32/comctl32/button.c index c313aa81e85..514d5a7785f 100644 --- a/dll/win32/comctl32/button.c +++ b/dll/win32/comctl32/button.c @@ -1177,7 +1177,7 @@ static UINT BUTTON_CalcLabelRect(const BUTTON_INFO *infoPtr, HDC hdc, RECT *rc) UINT dtStyle = BUTTON_BStoDT( style, ex_style ); RECT r = *rc; INT n; -#ifdef __REACTOS__ +#if !defined(_USER32_) && defined(__REACTOS__) BOOL bHasIml = BUTTON_DrawIml(hdc, &infoPtr->imlData, &r, TRUE, 0); #endif @@ -1229,12 +1229,16 @@ static UINT BUTTON_CalcLabelRect(const BUTTON_INFO *infoPtr, HDC hdc, RECT *rc) default: empty_rect: +#if !defined(_USER32_) && defined(__REACTOS__) + if (bHasIml) + break; +#endif rc->right = r.left; rc->bottom = r.top; return (UINT)-1; } -#ifdef __REACTOS__ +#if !defined(_USER32_) && defined(__REACTOS__) if (bHasIml) { if (infoPtr->imlData.uAlign == BUTTON_IMAGELIST_ALIGN_LEFT) @@ -1318,7 +1322,7 @@ static void BUTTON_DrawLabel(const BUTTON_INFO *infoPtr, HDC hdc, UINT dtFlags, * I don't have Win31 on hand to verify that, so I leave it as is. */ -#ifdef __REACTOS__ +#if !defined(_USER32_) && defined(__REACTOS__) RECT rcText = *rc; BUTTON_DrawIml(hdc, &infoPtr->imlData, &rcText, FALSE, 0); #endif -- 2.17.1