diff options
author | Ton Roosendaal <ton@blender.org> | 2011-02-06 20:36:42 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2011-02-06 20:36:42 +0300 |
commit | 216f9af08e88398b7e2f805d241734ec80879180 (patch) | |
tree | f06ce6bfabdc17f46a91d5713af58123e090b12a /source/blender/editors/screen/screen_ops.c | |
parent | 0ea9271f43e7e8ef914d33244d658ad7b5720f1f (diff) |
Two in one:
- Bugfix #25937
Child-of constraint now behaves like regular parent-child
relationship when all options are set. This prevents the
errors that can happen when decomposing non-uniform matrices.
- Todo item
The area corner hotspots for splitting/merging were far too
narrow. Now it uses a circular distance to detect whether
the hotspot is active. Also cleaned up drawing code for it.
Diffstat (limited to 'source/blender/editors/screen/screen_ops.c')
-rw-r--r-- | source/blender/editors/screen/screen_ops.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c index b6c92982560..9267f4d4e80 100644 --- a/source/blender/editors/screen/screen_ops.c +++ b/source/blender/editors/screen/screen_ops.c @@ -474,7 +474,10 @@ AZone *is_in_area_actionzone(ScrArea *sa, int x, int y) for(az= sa->actionzones.first; az; az= az->next) { if(BLI_in_rcti(&az->rect, x, y)) { if(az->type == AZONE_AREA) { - if(isect_point_tri_v2_int(az->x1, az->y1, az->x2, az->y2, x, y)) + /* no triangle intersect but a hotspot circle based on corner */ + int radius= (x-az->x1)*(x-az->x1) + (y-az->y1)*(y-az->y1); + + if(radius <= AZONESPOT*AZONESPOT) break; } else if(az->type == AZONE_REGION) { |