[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25588] trunk/blender/source/blender/ editors/interface/view2d.c: Fix for [#19519] Dope sheet scrollbar goes out of bounds

Matt Ebb matt at mke3.net
Mon Dec 28 09:01:20 CET 2009


Revision: 25588
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25588
Author:   broken
Date:     2009-12-28 09:01:19 +0100 (Mon, 28 Dec 2009)

Log Message:
-----------
Fix for [#19519] Dope sheet scrollbar goes out of bounds

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/view2d.c

Modified: trunk/blender/source/blender/editors/interface/view2d.c
===================================================================
--- trunk/blender/source/blender/editors/interface/view2d.c	2009-12-28 05:14:32 UTC (rev 25587)
+++ trunk/blender/source/blender/editors/interface/view2d.c	2009-12-28 08:01:19 UTC (rev 25588)
@@ -1401,10 +1401,8 @@
 		if ((scrollers->hor_max - scrollers->hor_min) < V2D_SCROLLER_HANDLE_SIZE) {
 			scrollers->hor_max= scrollers->hor_min + V2D_SCROLLER_HANDLE_SIZE;
 
-			if(scrollers->hor_max > hor.xmax) {
-				scrollers->hor_max= hor.xmax;
-				scrollers->hor_min= MAX2(scrollers->hor_max - V2D_SCROLLER_HANDLE_SIZE, hor.xmin);
-			}
+			CLAMP(scrollers->hor_max, hor.xmin+V2D_SCROLLER_HANDLE_SIZE, hor.xmax);
+			CLAMP(scrollers->hor_min, hor.xmin, hor.xmax-V2D_SCROLLER_HANDLE_SIZE);
 		}
 		
 		/* check whether sliders can disappear */
@@ -1437,14 +1435,13 @@
 			scrollers->vert_min= scrollers->vert_max;
 		/* prevent sliders from being too small, and disappearing */
 		if ((scrollers->vert_max - scrollers->vert_min) < V2D_SCROLLER_HANDLE_SIZE) {
+			
 			scrollers->vert_max= scrollers->vert_min + V2D_SCROLLER_HANDLE_SIZE;
-
-			if(scrollers->vert_max > vert.ymax) {
-				scrollers->vert_max= vert.ymax;
-				scrollers->vert_min= MAX2(scrollers->vert_max - V2D_SCROLLER_HANDLE_SIZE, vert.ymin);
-			}
+			
+			CLAMP(scrollers->vert_max, vert.ymin+V2D_SCROLLER_HANDLE_SIZE, vert.ymax);
+			CLAMP(scrollers->vert_min, vert.ymin, vert.ymax-V2D_SCROLLER_HANDLE_SIZE);
 		}
-		
+
 		/* check whether sliders can disappear */
 		if(v2d->keeptot) {
 			if(fac1 <= 0.0f && fac2 >= 1.0f) 





More information about the Bf-blender-cvs mailing list