[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29313] trunk/blender/source/blender/ editors/object/object_add.c: Fix bug #22317 View reamins in camera' s view after camera is deleted.

Diego Borghetti bdiego at gmail.com
Mon Jun 7 18:24:24 CEST 2010


Revision: 29313
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29313
Author:   bdiego
Date:     2010-06-07 18:24:24 +0200 (Mon, 07 Jun 2010)

Log Message:
-----------
Fix bug #22317 View reamins in camera's view after camera is deleted.

The object in the view3d don't get update, so point to the delete
camera and make Blender crash when you go into fly mode.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/object/object_add.c

Modified: trunk/blender/source/blender/editors/object/object_add.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_add.c	2010-06-07 16:22:18 UTC (rev 29312)
+++ trunk/blender/source/blender/editors/object/object_add.c	2010-06-07 16:24:24 UTC (rev 29313)
@@ -826,6 +826,8 @@
 static int object_delete_exec(bContext *C, wmOperator *op)
 {
 	Scene *scene= CTX_data_scene(C);
+	View3D *v3d = CTX_wm_view3d(C);
+	RegionView3D *rv3d= CTX_wm_region_view3d(C);
 	int islamp= 0;
 	
 	if(CTX_data_edit_object(C)) 
@@ -834,14 +836,24 @@
 	CTX_DATA_BEGIN(C, Base*, base, selected_bases) {
 
 		if(base->object->type==OB_LAMP) islamp= 1;
-		
+		else if (base->object->type == OB_CAMERA) {
+			/* If we don't reset this, Blender crash
+			 * in fly mode because still have the
+			 * old object here!.
+			 * See Bug #22317
+			 */
+			if (v3d && rv3d && rv3d->persp == RV3D_CAMOB && base->object == v3d->camera) {
+				rv3d->persp= RV3D_PERSP;
+				v3d->camera= NULL;
+			}
+		}
 		/* remove from current scene only */
 		ED_base_object_free_and_unlink(scene, base);
 	}
 	CTX_DATA_END;
 
 	if(islamp) reshadeall_displist(scene);	/* only frees displist */
-	
+
 	DAG_scene_sort(scene);
 	DAG_ids_flush_update(0);
 	





More information about the Bf-blender-cvs mailing list