[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51619] trunk/blender/source/blender/ editors: Bugfix #28298

Ton Roosendaal ton at blender.org
Thu Oct 25 14:53:34 CEST 2012


Revision: 51619
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51619
Author:   ton
Date:     2012-10-25 12:53:27 +0000 (Thu, 25 Oct 2012)
Log Message:
-----------
Bugfix #28298

When I added DPI support in the UI, I added code that refreshes views for 2d
regions. These refreshes also happened on screen switches or file select, causing
header views (horizontal scrolled) to clear.

Now the code less intrusive, changing header views in fewer cases. 

This is a patch provided by Anthony Edlin. Thanks dude!

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

Modified: trunk/blender/source/blender/editors/interface/view2d.c
===================================================================
--- trunk/blender/source/blender/editors/interface/view2d.c	2012-10-25 12:03:36 UTC (rev 51618)
+++ trunk/blender/source/blender/editors/interface/view2d.c	2012-10-25 12:53:27 UTC (rev 51619)
@@ -476,8 +476,14 @@
 				if (winy < v2d->oldwiny) {
 					float temp = v2d->oldwiny - winy;
 					
-					cur->ymin += temp;
-					cur->ymax += temp;
+					if (v2d->align & V2D_ALIGN_NO_NEG_Y) {
+						cur->ymin -= temp;
+						cur->ymax -= temp;
+					}
+					else { /* Assume V2D_ALIGN_NO_POS_Y or combination */
+						cur->ymin += temp;
+						cur->ymax += temp;
+					}
 				}
 
 			}

Modified: trunk/blender/source/blender/editors/screen/area.c
===================================================================
--- trunk/blender/source/blender/editors/screen/area.c	2012-10-25 12:03:36 UTC (rev 51618)
+++ trunk/blender/source/blender/editors/screen/area.c	2012-10-25 12:53:27 UTC (rev 51619)
@@ -1259,10 +1259,6 @@
 			/* prevent uiblocks to run */
 			uiFreeBlocks(NULL, &ar->uiblocks);
 		}
-		
-		/* rechecks 2d matrix for header on dpi changing, do not do for other regions, it resets view && blocks view2d operator polls (ton) */
-		if (ar->regiontype == RGN_TYPE_HEADER)
-			ar->v2d.flag &= ~V2D_IS_INITIALISED;
 	}
 }
 
@@ -1775,7 +1771,7 @@
 	}
 
 	/* always as last  */
-	UI_view2d_totRect_set(&ar->v2d, maxco + UI_UNIT_X + 80, BLI_rctf_size_y(&ar->v2d.tot));
+	UI_view2d_totRect_set(&ar->v2d, maxco + UI_UNIT_X + 80, headery);
 
 	/* restore view matrix? */
 	UI_view2d_view_restore(C);




More information about the Bf-blender-cvs mailing list