[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [35689] trunk/blender/source/blender: crash fix for Normalize All VGroups on a lattice without vgroups ( probably other tools too - bug was in ED_vgroup_give_parray).

Campbell Barton ideasman42 at gmail.com
Tue Mar 22 11:13:43 CET 2011


Revision: 35689
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35689
Author:   campbellbarton
Date:     2011-03-22 10:13:42 +0000 (Tue, 22 Mar 2011)
Log Message:
-----------
crash fix for Normalize All VGroups on a lattice without vgroups (probably other tools too - bug was in ED_vgroup_give_parray).

Also fix for crashes running operators in bg mode by using setting poll functions: WM_OT_search_menu, MESH_OT_extrude_repeat, SCREEN_OT_new

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh_tools.c
    trunk/blender/source/blender/editors/object/object_vgroup.c
    trunk/blender/source/blender/editors/screen/screen_ops.c
    trunk/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: trunk/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2011-03-22 09:14:27 UTC (rev 35688)
+++ trunk/blender/source/blender/editors/mesh/editmesh_tools.c	2011-03-22 10:13:42 UTC (rev 35689)
@@ -944,7 +944,7 @@
 
 	/* api callbacks */
 	ot->exec= extrude_repeat_mesh;
-	ot->poll= ED_operator_editmesh;
+	ot->poll= ED_operator_editmesh_region_view3d;
 
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;

Modified: trunk/blender/source/blender/editors/object/object_vgroup.c
===================================================================
--- trunk/blender/source/blender/editors/object/object_vgroup.c	2011-03-22 09:14:27 UTC (rev 35688)
+++ trunk/blender/source/blender/editors/object/object_vgroup.c	2011-03-22 10:13:42 UTC (rev 35689)
@@ -208,14 +208,19 @@
 				Lattice *lt= (Lattice *)id;
 				lt= (lt->editlatt)? lt->editlatt->latt: lt;
 
-				*dvert_tot= lt->pntsu*lt->pntsv*lt->pntsw;
-				*dvert_arr= MEM_mallocN(sizeof(void*)*(*dvert_tot), "vgroup parray from me");
+				if(lt->dvert) {
+					*dvert_tot= lt->pntsu*lt->pntsv*lt->pntsw;
+					*dvert_arr= MEM_mallocN(sizeof(void*)*(*dvert_tot), "vgroup parray from me");
 
-				for (i=0; i<*dvert_tot; i++) {
-					(*dvert_arr)[i] = lt->dvert + i;
+					for (i=0; i<*dvert_tot; i++) {
+						(*dvert_arr)[i] = lt->dvert + i;
+					}
+
+					return 1;
 				}
-
-				return 1;
+				else {
+					return 0;
+				}
 			}
 		}
 	}

Modified: trunk/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- trunk/blender/source/blender/editors/screen/screen_ops.c	2011-03-22 09:14:27 UTC (rev 35688)
+++ trunk/blender/source/blender/editors/screen/screen_ops.c	2011-03-22 10:13:42 UTC (rev 35689)
@@ -3111,6 +3111,7 @@
 	
 	/* api callbacks */
 	ot->exec= screen_new_exec;
+	ot->poll= WM_operator_winactive;
 	
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;

Modified: trunk/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2011-03-22 09:14:27 UTC (rev 35688)
+++ trunk/blender/source/blender/windowmanager/intern/wm_operators.c	2011-03-22 10:13:42 UTC (rev 35689)
@@ -1320,6 +1320,7 @@
 	ot->idname= "WM_OT_call_menu";
 
 	ot->exec= wm_call_menu_exec;
+	ot->poll= WM_operator_winactive;
 
 	RNA_def_string(ot->srna, "name", "", BKE_ST_MAXNAME, "Name", "Name of the menu");
 }




More information about the Bf-blender-cvs mailing list