[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