Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHarley Acheson <harley.acheson@gmail.com>2019-09-02 23:06:42 +0300
committerHarley Acheson <harley.acheson@gmail.com>2019-09-02 23:06:42 +0300
commitd4a905fd853d91db2ce7a02de09bf5e255838cb8 (patch)
treeb0c5f345030c6315215abaabfea683a0db9e7e2f /source/blender/editors/screen/screen_edit.c
parent47cde3292c9276dd612e16278515d7efcfbb822f (diff)
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
Diffstat (limited to 'source/blender/editors/screen/screen_edit.c')
-rw-r--r--source/blender/editors/screen/screen_edit.c12
1 files changed, 8 insertions, 4 deletions
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;
}
}