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:
authorDalai Felinto <dfelinto@gmail.com>2017-05-10 16:54:23 +0300
committerDalai Felinto <dfelinto@gmail.com>2017-05-10 16:54:23 +0300
commita438750cad553e51e4151785aea09996681dbd62 (patch)
tree5d57ef803c34db8e4be9450c7cadfbe92f87bcb2 /source/blender/windowmanager/manipulators/intern
parent1a6b97e98f190cfe610d70d0e2a05e9e72cfbf33 (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.c7
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;
}