[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47404] trunk/blender/source/blender/ editors/space_view3d/view3d_select.c: Attempted fix for borderselect crash that Jeremy (@Mango) is getting on a

Joshua Leung aligorith at gmail.com
Mon Jun 4 14:29:47 CEST 2012


Revision: 47404
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47404
Author:   aligorith
Date:     2012-06-04 12:29:37 +0000 (Mon, 04 Jun 2012)
Log Message:
-----------
Attempted fix for borderselect crash that Jeremy (@Mango) is getting on a
particular file in Pose Mode

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

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2012-06-04 12:10:38 UTC (rev 47403)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_select.c	2012-06-04 12:29:37 UTC (rev 47404)
@@ -1870,7 +1870,6 @@
 		for (base = vc->scene->base.first; base && hits; base = base->next) {
 			if (BASE_SELECTABLE(vc->v3d, base)) {
 				while (base->selcol == (*col & 0xFFFF)) {   /* we got an object */
-					
 					if (*col & 0xFFFF0000) {                    /* we got a bone */
 						bone = get_indexed_bone(base->object, *col & ~(BONESEL_ANY));
 						if (bone) {
@@ -1897,7 +1896,7 @@
 						else
 							ED_base_object_select(base, BA_DESELECT);
 					}
-
+					
 					col += 4; /* next color */
 					hits--;
 					if (hits == 0) break;
@@ -1906,13 +1905,16 @@
 			
 			if (bone_selected) {
 				Object *ob = base->object;
-				bArmature *arm = ob->data;
 				
-				WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, ob);
-				
-				if (arm->flag & ARM_HAS_VIZ_DEPS) {
-					/* mask modifier ('armature' mode), etc. */
-					DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+				if (ob && (ob->type == OB_ARMATURE)) {
+					bArmature *arm = ob->data;
+					
+					WM_event_add_notifier(C, NC_OBJECT | ND_BONE_SELECT, ob);
+					
+					if (arm && (arm->flag & ARM_HAS_VIZ_DEPS)) {
+						/* mask modifier ('armature' mode), etc. */
+						DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+					}
 				}
 			}
 		}




More information about the Bf-blender-cvs mailing list