From 53c6cdf918e10305f19e74e003fc4d2311ed556f Mon Sep 17 00:00:00 2001 From: Rob Shearman Date: Thu, 31 Jan 2008 14:47:03 +0000 Subject: [PATCH] comctl32: Get the background colour in ANIMATE_PaintFrame, instead of just in WM_PAINT. This fixes the rendering of transparent animations when using a background thread. --- dlls/comctl32/animate.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/dlls/comctl32/animate.c b/dlls/comctl32/animate.c index 83433899dd5..ee668aece53 100644 --- a/dlls/comctl32/animate.c +++ b/dlls/comctl32/animate.c @@ -317,6 +317,9 @@ static BOOL ANIMATE_PaintFrame(ANIMATE_INFO* infoPtr, HDC hDC) rect.right = nWidth; rect.bottom = nHeight; + infoPtr->hbrushBG = (HBRUSH)SendMessageW(infoPtr->hwndNotify, + WM_CTLCOLORSTATIC, + (WPARAM)hDC, (LPARAM)infoPtr->hwndSelf); if(!infoPtr->hbrushBG) infoPtr->hbrushBG = GetCurrentObject(hDC, OBJ_BRUSH); @@ -929,11 +932,6 @@ static LRESULT WINAPI ANIMATE_WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LP return DefWindowProcW(hWnd, uMsg, wParam, lParam); } - if (infoPtr->dwStyle & ACS_TRANSPARENT) - infoPtr->hbrushBG = (HBRUSH)SendMessageW(infoPtr->hwndNotify, - WM_CTLCOLORSTATIC, - wParam, (LPARAM)infoPtr->hwndSelf); - if (wParam) { EnterCriticalSection(&infoPtr->cs);