Commit: 411b5f3b100ee385b68c888c278745926357626a
Author: Campbell Barton
Date:   Wed Apr 24 06:57:36 2019 +1000
Branches: master
https://developer.blender.org/rB411b5f3b100ee385b68c888c278745926357626a

Fix T63822: Sidebar tabs active area dead-zone

Clip on one axis for aligned regions to avoid tabs being clipped out.

Introduced in recent fix for T61554

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

M       source/blender/editors/screen/area_query.c

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

diff --git a/source/blender/editors/screen/area_query.c 
b/source/blender/editors/screen/area_query.c
index a4bcf622815..4d33567316f 100644
--- a/source/blender/editors/screen/area_query.c
+++ b/source/blender/editors/screen/area_query.c
@@ -112,8 +112,23 @@ bool ED_region_contains_xy(const ARegion *ar, const int 
event_xy[2])
       }
       else {
         /* Side-bar & any other kind of overlapping region. */
-        if (!ED_region_overlap_isect_xy_with_margin(ar, event_xy, 
overlap_margin)) {
-          return false;
+
+        /* Check alignment to avoid region tabs being clipped out
+         * by only clipping a single axis for aligned regions. */
+        if (ELEM(ar->alignment, RGN_ALIGN_TOP, RGN_ALIGN_BOTTOM)) {
+          if (!ED_region_overlap_isect_x_with_margin(ar, event_xy[0], 
overlap_margin)) {
+            return false;
+          }
+        }
+        else if (ELEM(ar->alignment, RGN_ALIGN_LEFT, RGN_ALIGN_RIGHT)) {
+          if (!ED_region_overlap_isect_y_with_margin(ar, event_xy[1], 
overlap_margin)) {
+            return false;
+          }
+        }
+        else {
+          if (!ED_region_overlap_isect_xy_with_margin(ar, event_xy, 
overlap_margin)) {
+            return false;
+          }
         }
       }
     }

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to