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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-02-27 04:33:27 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-02-27 04:33:27 +0400
commit26133a96ae82f44de12c4952ddca07578ede752c (patch)
treecffefe69ef0c772c3111553f536e523f436ad27f /source
parentbb1164a798a739e121f49b21d170ca2f68ca51aa (diff)
Fix for VIEW3D_OT_camera_to_view with quadview, disable in camera view
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/space_view3d/view3d_view.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index 0c3a2b853aa..83e4f112a8c 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -408,10 +408,15 @@ void VIEW3D_OT_smoothview(wmOperatorType *ot)
static int view3d_camera_to_view_exec(bContext *C, wmOperator *UNUSED(op))
{
- View3D *v3d = CTX_wm_view3d(C);
- RegionView3D *rv3d = CTX_wm_region_view3d(C);
+ View3D *v3d;
+ ARegion *ar;
+ RegionView3D *rv3d;
+
ObjectTfmProtectedChannels obtfm;
+ ED_view3d_context_user_region(C, &v3d, &ar);
+ rv3d = ar->regiondata;
+
copy_qt_qt(rv3d->lviewquat, rv3d->viewquat);
rv3d->lview = rv3d->view;
if (rv3d->persp != RV3D_CAMOB) {
@@ -435,11 +440,17 @@ static int view3d_camera_to_view_exec(bContext *C, wmOperator *UNUSED(op))
static int view3d_camera_to_view_poll(bContext *C)
{
- View3D *v3d = CTX_wm_view3d(C);
- if (v3d && v3d->camera && v3d->camera->id.lib == NULL) {
- RegionView3D *rv3d = CTX_wm_region_view3d(C);
- if (rv3d && (rv3d->viewlock & RV3D_LOCKED) == 0) {
- return 1;
+ View3D *v3d;
+ ARegion *ar;
+
+ if (ED_view3d_context_user_region(C, &v3d, &ar)) {
+ RegionView3D *rv3d = ar->regiondata;
+ if (v3d && v3d->camera && v3d->camera->id.lib == NULL) {
+ if (rv3d && (rv3d->viewlock & RV3D_LOCKED) == 0) {
+ if (rv3d->persp != RV3D_CAMOB) {
+ return 1;
+ }
+ }
}
}