UI: Improvement to screen_find_area_xy #104680
@ -956,7 +956,9 @@ ScrArea *BKE_screen_area_map_find_area_xy(const ScrAreaMap *areamap,
|
|||||||
const int xy[2])
|
const int xy[2])
|
||||||
{
|
{
|
||||||
LISTBASE_FOREACH (ScrArea *, area, &areamap->areabase) {
|
LISTBASE_FOREACH (ScrArea *, area, &areamap->areabase) {
|
||||||
if (BLI_rcti_isect_pt_v(&area->totrct, xy)) {
|
/* Test area's outer screen verts, not inner totrct. */
|
||||||
|
if (xy[0] >= area->v1->vec.x && xy[0] <= area->v4->vec.x && xy[1] >= area->v1->vec.y &&
|
||||||
|
xy[1] <= area->v2->vec.y) {
|
||||||
if (ELEM(spacetype, SPACE_TYPE_ANY, area->spacetype)) {
|
if (ELEM(spacetype, SPACE_TYPE_ANY, area->spacetype)) {
|
||||||
return area;
|
return area;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user