Module: wine Branch: master Commit: 02bfec6419dec45b018100526f327007d51168e7 URL: https://source.winehq.org/git/wine.git/?a=commit;h=02bfec6419dec45b018100526... Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Tue Jun 22 16:20:56 2021 +0800 comctl32/treeview: Draw parent background before drawing control parts. Fix residual glyphs on background when drawing treeview buttons with themes that contains transparent button glyphs. Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/comctl32/treeview.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c index 98cf5489f2b..f4a387dd0d2 100644 --- a/dlls/comctl32/treeview.c +++ b/dlls/comctl32/treeview.c @@ -2901,6 +2901,7 @@ TREEVIEW_Refresh(TREEVIEW_INFO *infoPtr, HDC hdc, const RECT *rc) HWND hwnd = infoPtr->hwnd; RECT rect = *rc; TREEVIEW_ITEM *item; + HTHEME theme; if (infoPtr->clientHeight == 0 || infoPtr->clientWidth == 0) { @@ -2917,6 +2918,12 @@ TREEVIEW_Refresh(TREEVIEW_INFO *infoPtr, HDC hdc, const RECT *rc) return; } + if (infoPtr->dwStyle & TVS_HASBUTTONS && (theme = GetWindowTheme(infoPtr->hwnd))) + { + if (IsThemeBackgroundPartiallyTransparent(theme, TVP_GLYPH, 0)) + DrawThemeParentBackground(infoPtr->hwnd, hdc, NULL); + } + for (item = infoPtr->root->firstChild; item != NULL; item = TREEVIEW_GetNextListItem(infoPtr, item))