From: Huw Campbell <huw.campbell@gmail.com> --- dlls/comctl32/listview.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index 24931c4c20e..03b940eaee1 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -9611,12 +9611,14 @@ static BOOL LISTVIEW_SetUnicodeFormat( LISTVIEW_INFO *infoPtr, BOOL unicode) static INT LISTVIEW_SetView(LISTVIEW_INFO *infoPtr, DWORD nView) { HIMAGELIST himl; + BOOL isNormal; if (infoPtr->uView == nView) return 1; if ((INT)nView < 0 || nView > LV_VIEW_MAX) return -1; infoPtr->uView = nView; + isNormal = nView == LV_VIEW_ICON || nView == LV_VIEW_TILE; SendMessageW(infoPtr->hwndEdit, WM_KILLFOCUS, 0, 0); ShowWindow(infoPtr->hwndHeader, SW_HIDE); @@ -9624,18 +9626,10 @@ static INT LISTVIEW_SetView(LISTVIEW_INFO *infoPtr, DWORD nView) ShowScrollBar(infoPtr->hwndSelf, SB_BOTH, FALSE); SetRectEmpty(&infoPtr->rcFocus); - himl = (nView == LV_VIEW_ICON ? infoPtr->himlNormal : infoPtr->himlSmall); - set_icon_size(&infoPtr->iconSize, himl, nView != LV_VIEW_ICON); - LISTVIEW_UpdateItemSize(infoPtr); + himl = isNormal ? infoPtr->himlNormal : infoPtr->himlSmall; + set_icon_size(&infoPtr->iconSize, himl, !isNormal); - switch (nView) - { - case LV_VIEW_ICON: - case LV_VIEW_SMALLICON: - case LV_VIEW_TILE: - LISTVIEW_Arrange(infoPtr, LVA_DEFAULT); - break; - case LV_VIEW_DETAILS: + if (nView == LV_VIEW_DETAILS) { HDLAYOUT hl; WINDOWPOS wp; @@ -9647,12 +9641,10 @@ static INT LISTVIEW_SetView(LISTVIEW_INFO *infoPtr, DWORD nView) SendMessageW(infoPtr->hwndHeader, HDM_LAYOUT, 0, (LPARAM)&hl); SetWindowPos(infoPtr->hwndHeader, infoPtr->hwndSelf, wp.x, wp.y, wp.cx, wp.cy, wp.flags | ((infoPtr->dwStyle & LVS_NOCOLUMNHEADER) ? SWP_HIDEWINDOW : SWP_SHOWWINDOW)); - break; - } - case LV_VIEW_LIST: - break; } + LISTVIEW_UpdateItemSize(infoPtr); + LISTVIEW_Arrange(infoPtr, LVA_DEFAULT); LISTVIEW_UpdateSize(infoPtr); LISTVIEW_UpdateScroll(infoPtr); LISTVIEW_InvalidateList(infoPtr); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10191