From 7942f5a0e4413ef1ec5a711c173b341ae19d9953 Mon Sep 17 00:00:00 2001 From: Duane Clark Date: Thu, 11 Jan 2007 15:06:05 -0800 Subject: [PATCH] treeview: Fix horizontal scrolling. --- dlls/comctl32/treeview.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c index 4fb2a324778..587a3cf8ab3 100644 --- a/dlls/comctl32/treeview.c +++ b/dlls/comctl32/treeview.c @@ -2702,7 +2702,7 @@ TREEVIEW_UpdateScrollBars(TREEVIEW_INFO *infoPtr) > infoPtr->clientWidth - GetSystemMetrics(SM_CXVSCROLL)) horz = TRUE; } - else if (infoPtr->treeWidth > infoPtr->clientWidth) + else if (infoPtr->treeWidth > infoPtr->clientWidth || infoPtr->scrollX > 0) horz = TRUE; if (!vert && horz && infoPtr->treeHeight @@ -2760,6 +2760,8 @@ TREEVIEW_UpdateScrollBars(TREEVIEW_INFO *infoPtr) infoPtr->uInternalStatus |= TV_HSCROLL; SetScrollInfo(hwnd, SB_HORZ, &si, TRUE); + TREEVIEW_HScroll(infoPtr, + MAKEWPARAM(SB_THUMBPOSITION, scrollX)); } else { @@ -2768,12 +2770,11 @@ TREEVIEW_UpdateScrollBars(TREEVIEW_INFO *infoPtr) infoPtr->uInternalStatus &= ~TV_HSCROLL; scrollX = 0; - } - - if (infoPtr->scrollX != scrollX) - { - TREEVIEW_HScroll(infoPtr, - MAKEWPARAM(SB_THUMBPOSITION, scrollX)); + if (infoPtr->scrollX != 0) + { + TREEVIEW_HScroll(infoPtr, + MAKEWPARAM(SB_THUMBPOSITION, scrollX)); + } } if (!horz)