Rob Shearman : comctl32: Get the background colour in ANIMATE_PaintFrame, instead of just in WM_PAINT.

Alexandre Julliard julliard at winehq.org
Mon Feb 4 08:43:06 CST 2008


Module: wine
Branch: master
Commit: 53c6cdf918e10305f19e74e003fc4d2311ed556f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=53c6cdf918e10305f19e74e003fc4d2311ed556f

Author: Rob Shearman <rob at codeweavers.com>
Date:   Thu Jan 31 14:47:03 2008 +0000

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 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/dlls/comctl32/animate.c b/dlls/comctl32/animate.c
index 8343389..ee668ae 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);




More information about the wine-cvs mailing list