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.
This commit is contained in:
parent
7bc9e425f1
commit
53c6cdf918
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue