From d4a905fd853d91db2ce7a02de09bf5e255838cb8 Mon Sep 17 00:00:00 2001 From: Harley Acheson Date: Mon, 2 Sep 2019 13:06:42 -0700 Subject: [PATCH] UI: Fix Bug With Join Area Tolerance Join area tolerance not properly checking all vertices on shared edge. Differential Revision: https://developer.blender.org/D5662 --- release/datafiles/locale | 2 +- release/scripts/addons | 2 +- release/scripts/addons_contrib | 2 +- source/blender/editors/screen/screen_edit.c | 12 ++++++++---- 4 files changed, 11 insertions(+), 7 deletions(-) diff --git a/release/datafiles/locale b/release/datafiles/locale index 61cb42387d1..e7cd12454a2 160000 --- a/release/datafiles/locale +++ b/release/datafiles/locale @@ -1 +1 @@ -Subproject commit 61cb42387d1356c168d0e89acaef44a5e365520a +Subproject commit e7cd12454a2fe775361012cbc176fb9c370b6abb diff --git a/release/scripts/addons b/release/scripts/addons index cbb11b1a597..db4f7e2dc66 160000 --- a/release/scripts/addons +++ b/release/scripts/addons @@ -1 +1 @@ -Subproject commit cbb11b1a597366deabfa1cac11989621bf9075c4 +Subproject commit db4f7e2dc66d437b205f8097c2bdf9097b5c8834 diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib index e479f81053b..c6429b8c79e 160000 --- a/release/scripts/addons_contrib +++ b/release/scripts/addons_contrib @@ -1 +1 @@ -Subproject commit e479f81053badb6548ca9cb8a6f2b22e0a242cb7 +Subproject commit c6429b8c79e877ac40fa900c589be2dc6aa4f512 diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c index 525b73dd71b..b37aa47aba6 100644 --- a/source/blender/editors/screen/screen_edit.c +++ b/source/blender/editors/screen/screen_edit.c @@ -309,22 +309,26 @@ int area_getorientation(ScrArea *sa, ScrArea *sb) int tolerance = U.pixelsize * 4; if (saBL->vec.x == sbBR->vec.x && saTL->vec.x == sbTR->vec.x) { /* sa to right of sb = W */ - if (ABS(saBL->vec.y - sbBR->vec.y) <= tolerance) { + if ((ABS(saBL->vec.y - sbBR->vec.y) <= tolerance) && + (ABS(saTL->vec.y - sbTR->vec.y) <= tolerance)) { return 0; } } else if (saTL->vec.y == sbBL->vec.y && saTR->vec.y == sbBR->vec.y) { /* sa to bottom of sb = N */ - if (ABS(saTL->vec.x - sbBL->vec.x) <= tolerance) { + if ((ABS(saTL->vec.x - sbBL->vec.x) <= tolerance) && + (ABS(saTR->vec.x - sbBR->vec.x) <= tolerance)) { return 1; } } else if (saTR->vec.x == sbTL->vec.x && saBR->vec.x == sbBL->vec.x) { /* sa to left of sb = E */ - if (ABS(saTR->vec.y - sbTL->vec.y) <= tolerance) { + if ((ABS(saTR->vec.y - sbTL->vec.y) <= tolerance) && + (ABS(saBR->vec.y - sbBL->vec.y) <= tolerance)) { return 2; } } else if (saBL->vec.y == sbTL->vec.y && saBR->vec.y == sbTR->vec.y) { /* sa on top of sb = S*/ - if (ABS(saBL->vec.x - sbTL->vec.x) <= tolerance) { + if ((ABS(saBL->vec.x - sbTL->vec.x) <= tolerance) && + (ABS(saBR->vec.x - sbTR->vec.x) <= tolerance)) { return 3; } }