Commit: 64eea27533b84a271ad66ea27b937c4b8096f14e
Author: Campbell Barton
Date:   Thu Feb 27 19:00:35 2014 +1100
https://developer.blender.org/rB64eea27533b84a271ad66ea27b937c4b8096f14e

Fix T38602: Aligned layout breaks if panel too wide

===================================================================

M       source/blender/editors/interface/interface.c

===================================================================

diff --git a/source/blender/editors/interface/interface.c 
b/source/blender/editors/interface/interface.c
index 99d97e9..8751741 100644
--- a/source/blender/editors/interface/interface.c
+++ b/source/blender/editors/interface/interface.c
@@ -2671,9 +2671,17 @@ void uiBlockBeginAlign(uiBlock *block)
 static bool buts_are_horiz(uiBut *but1, uiBut *but2)
 {
        float dx, dy;
-       
-       dx = fabs(but1->rect.xmax - but2->rect.xmin);
-       dy = fabs(but1->rect.ymin - but2->rect.ymax);
+
+       /* simple case which can fail if buttons shift apart
+        * with proportional layouts, see: [#38602] */
+       if ((but1->rect.ymin == but2->rect.ymin) &&
+           (but1->rect.xmin != but2->rect.xmin))
+       {
+               return true;
+       }
+
+       dx = fabsf(but1->rect.xmax - but2->rect.xmin);
+       dy = fabsf(but1->rect.ymin - but2->rect.ymax);
        
        return (dx <= dy);
 }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to