[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51248] trunk/blender/source/blender/ editors/screen/screen_ops.c: fix error setting quadview when there is no camera in the scene, the view would glitch/jump when accessing afterwards.

Campbell Barton ideasman42 at gmail.com
Wed Oct 10 10:47:53 CEST 2012


Revision: 51248
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51248
Author:   campbellbarton
Date:     2012-10-10 08:47:53 +0000 (Wed, 10 Oct 2012)
Log Message:
-----------
fix error setting quadview when there is no camera in the scene, the view would glitch/jump when accessing afterwards.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/screen/screen_ops.c

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2012-10-10 08:46:52 UTC (rev 51247)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2012-10-10 08:47:53 UTC (rev 51248)
@@ -2716,6 +2716,8 @@
 		
 		/* lock views and set them */
 		if (sa->spacetype == SPACE_VIEW3D) {
+			View3D *v3d = sa->spacedata.first;
+
 			/* run ED_view3d_lock() so the correct 'rv3d->viewquat' is set,
 			 * otherwise when restoring rv3d->localvd the 'viewquat' won't
 			 * match the 'view', set on entering localview See: [#26315],
@@ -2743,7 +2745,15 @@
 			
 			ar = ar->next;
 			rv3d = ar->regiondata;
-			rv3d->view = RV3D_VIEW_CAMERA; rv3d->persp = RV3D_CAMOB;
+
+			/* check if we have a camera */
+			if (v3d->camera) {
+				rv3d->view = RV3D_VIEW_CAMERA; rv3d->persp = RV3D_CAMOB;
+			}
+			else {
+				rv3d->view = RV3D_VIEW_PERSPORTHO; rv3d->persp = RV3D_PERSP;
+			}
+
 			ED_view3d_lock(rv3d);
 			view3d_localview_update_rv3d(rv3d);
 		}




More information about the Bf-blender-cvs mailing list