diff options
author | Joilnen Leite <joilnen.leite@gmail.com> | 2008-10-22 09:33:45 +0400 |
---|---|---|
committer | Joilnen Leite <joilnen.leite@gmail.com> | 2008-10-22 09:33:45 +0400 |
commit | 0026247ee2d8e5e8c7b1eada09e94cdd38000b84 (patch) | |
tree | 4f909812aa93eb3bd7e66b39847006edf2f21d18 /source/blender/src | |
parent | 18f2d484d9f76ce8e932a1b27b4b7b2f3fbcdb0d (diff) |
Diffstat (limited to 'source/blender/src')
-rw-r--r-- | source/blender/src/header_view3d.c | 8 | ||||
-rw-r--r-- | source/blender/src/toets.c | 4 | ||||
-rw-r--r-- | source/blender/src/view.c | 5 |
3 files changed, 9 insertions, 8 deletions
diff --git a/source/blender/src/header_view3d.c b/source/blender/src/header_view3d.c index 5c215dcdd46..d57fa18a705 100644 --- a/source/blender/src/header_view3d.c +++ b/source/blender/src/header_view3d.c @@ -212,6 +212,14 @@ static void do_view3d_view_camerasmenu(void *arg, int event) persptoetsen(PAD0); G.qual &= ~LR_CTRLKEY; } else { + /* store settings of current view before allowing overwriting with camera view */ + /* this is a copy of the code in toets.c */ + if(G.vd->persp != V3D_CAMOB) { + QUATCOPY(G.vd->lviewquat, G.vd->viewquat); + G.vd->lview= G.vd->view; + G.vd->lpersp= G.vd->persp; + } + for( base = FIRSTBASE; base; base = base->next ) { if (base->object->type == OB_CAMERA) { i++; diff --git a/source/blender/src/toets.c b/source/blender/src/toets.c index 162d652afd1..804660c3433 100644 --- a/source/blender/src/toets.c +++ b/source/blender/src/toets.c @@ -292,17 +292,15 @@ void persptoetsen(unsigned short event) } else if(event==PAD0) { /* lastview - */ - if(G.vd->lastview_set==0) { + if(G.vd->persp != V3D_CAMOB) { /* store settings of current view before allowing overwriting with camera view */ QUATCOPY(G.vd->lviewquat, G.vd->viewquat); G.vd->lview= G.vd->view; G.vd->lpersp= G.vd->persp; - G.vd->lastview_set= 1; } else { /* return to settings of last view */ axis_set_view(G.vd->lviewquat[0], G.vd->lviewquat[1], G.vd->lviewquat[2], G.vd->lviewquat[3], G.vd->lview, G.vd->lpersp); - G.vd->lastview_set= 0; } if(G.qual==LR_ALTKEY) { diff --git a/source/blender/src/view.c b/source/blender/src/view.c index e7b46d83b50..258e4fd99e0 100644 --- a/source/blender/src/view.c +++ b/source/blender/src/view.c @@ -894,11 +894,6 @@ void viewmove(int mode) return; } - /* clear lastview flag (used to return to previous view when - * pressing Pad0 again after entering Camera view) - */ - if (G.vd->lastview_set) G.vd->lastview_set= 0; - // dist correction from other movement devices if((dz_flag)||G.vd->dist==0) { dz_flag = 0; |