diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2017-05-10 16:54:23 +0300 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2017-05-10 16:54:23 +0300 |
commit | a438750cad553e51e4151785aea09996681dbd62 (patch) | |
tree | 5d57ef803c34db8e4be9450c7cadfbe92f87bcb2 /source/blender/windowmanager/manipulators/intern | |
parent | 1a6b97e98f190cfe610d70d0e2a05e9e72cfbf33 (diff) |
Fix multi-view (single camera) manipulators selection
Diffstat (limited to 'source/blender/windowmanager/manipulators/intern')
-rw-r--r-- | source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c index 7a1200fedc1..425ae9979ae 100644 --- a/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c +++ b/source/blender/windowmanager/manipulators/intern/wm_manipulatormap.c @@ -295,7 +295,6 @@ static int manipulator_find_intersected_3D_intern( ScrArea *sa = CTX_wm_area(C); ARegion *ar = CTX_wm_region(C); View3D *v3d = sa->spacedata.first; - RegionView3D *rv3d = ar->regiondata; rcti rect; GLuint buffer[64]; // max 4 items per select, so large enuf short hits; @@ -308,8 +307,7 @@ static int manipulator_find_intersected_3D_intern( rect.ymin = co[1] - hotspot; rect.ymax = co[1] + hotspot; - view3d_winmatrix_set(ar, v3d, &rect); - mul_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat); + ED_view3d_draw_setup_view(CTX_wm_window(C), CTX_data_scene(C), ar, v3d, NULL, NULL, &rect); if (do_passes) GPU_select_begin(buffer, ARRAY_SIZE(buffer), &rect, GPU_SELECT_NEAREST_FIRST_PASS, 0); @@ -326,8 +324,7 @@ static int manipulator_find_intersected_3D_intern( GPU_select_end(); } - view3d_winmatrix_set(ar, v3d, NULL); - mul_m4_m4m4(rv3d->persmat, rv3d->winmat, rv3d->viewmat); + ED_view3d_draw_setup_view(CTX_wm_window(C), CTX_data_scene(C), ar, v3d, NULL, NULL, NULL); return hits > 0 ? buffer[3] : -1; } |