[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51261] trunk/blender/source/blender/ editors/space_view3d/view3d_edit.c: workaround for feedback loop when viewing-selected/ all with a locked camera.

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


Revision: 51261
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51261
Author:   campbellbarton
Date:     2012-10-10 13:36:53 +0000 (Wed, 10 Oct 2012)
Log Message:
-----------
workaround for feedback loop when viewing-selected/all with a locked camera.
the camera could try include its own boundbox in its view.

now just skip the camera if 'All Regions' and lock view option is enabled.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/space_view3d/view3d_edit.c

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_edit.c	2012-10-10 13:33:54 UTC (rev 51260)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_edit.c	2012-10-10 13:36:53 UTC (rev 51261)
@@ -2260,12 +2260,13 @@
 {
 	ARegion *ar = CTX_wm_region(C);
 	View3D *v3d = CTX_wm_view3d(C);
-	RegionView3D *rv3d = CTX_wm_region_view3d(C);
 	Scene *scene = CTX_data_scene(C);
 	Base *base;
 	float *curs;
-	const short skip_camera = ED_view3d_camera_lock_check(v3d, rv3d);
 	const short use_all_regions = RNA_boolean_get(op->ptr, "use_all_regions");
+	const short skip_camera = (ED_view3d_camera_lock_check(v3d, ar->regiondata) ||
+	                           /* any one of the regions may be locked */
+	                           (use_all_regions && v3d->flag2 & V3D_LOCK_CAMERA));
 	int center = RNA_boolean_get(op->ptr, "center");
 
 	float min[3], max[3];
@@ -2351,8 +2352,10 @@
 	Object *obedit = CTX_data_edit_object(C);
 	float min[3], max[3];
 	int ok = 0, ok_dist = 1;
-	const short skip_camera = ED_view3d_camera_lock_check(v3d, ar->regiondata);
 	const short use_all_regions = RNA_boolean_get(op->ptr, "use_all_regions");
+	const short skip_camera = (ED_view3d_camera_lock_check(v3d, ar->regiondata) ||
+	                           /* any one of the regions may be locked */
+	                           (use_all_regions && v3d->flag2 & V3D_LOCK_CAMERA));
 
 	INIT_MINMAX(min, max);
 




More information about the Bf-blender-cvs mailing list