Duane Clark : treeview: Fix horizontal scrolling.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jan 12 05:39:11 CST 2007


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

Author: Duane Clark <fpga at pacbell.net>
Date:   Thu Jan 11 15:06:05 2007 -0800

treeview: Fix horizontal scrolling.

---

 dlls/comctl32/treeview.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index 4fb2a32..587a3cf 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -2702,7 +2702,7 @@ TREEVIEW_UpdateScrollBars(TREEVIEW_INFO
 	    > 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->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->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)




More information about the wine-cvs mailing list