[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44722] trunk/blender/source/blender: fix for 2 crashes from missing NULL checks.
Campbell Barton
ideasman42 at gmail.com
Thu Mar 8 01:23:37 CET 2012
Revision: 44722
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44722
Author: campbellbarton
Date: 2012-03-08 00:23:28 +0000 (Thu, 08 Mar 2012)
Log Message:
-----------
fix for 2 crashes from missing NULL checks.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
trunk/blender/source/blender/editors/mesh/bmesh_tools.c
trunk/blender/source/blender/editors/object/object_vgroup.c
trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.c
Modified: trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c 2012-03-07 22:21:28 UTC (rev 44721)
+++ trunk/blender/source/blender/blenkernel/intern/editderivedmesh.c 2012-03-08 00:23:28 UTC (rev 44722)
@@ -1717,5 +1717,5 @@
BMEditMesh *BMEdit_FromObject(Object *ob)
{
BLI_assert(ob->type == OB_MESH);
- return ((Mesh *) ob->data )->edit_btmesh;
+ return ((Mesh *)ob->data)->edit_btmesh;
}
Modified: trunk/blender/source/blender/editors/mesh/bmesh_tools.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/bmesh_tools.c 2012-03-07 22:21:28 UTC (rev 44721)
+++ trunk/blender/source/blender/editors/mesh/bmesh_tools.c 2012-03-08 00:23:28 UTC (rev 44722)
@@ -413,7 +413,7 @@
/* api callbacks */
ot->exec = extrude_repeat_mesh;
- ot->poll = ED_operator_editmesh;
+ ot->poll = ED_operator_editmesh_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 2012-03-07 22:21:28 UTC (rev 44721)
+++ trunk/blender/source/blender/editors/object/object_vgroup.c 2012-03-08 00:23:28 UTC (rev 44722)
@@ -1257,10 +1257,9 @@
int i, dvert_tot=0;
const int def_nr= ob->actdef-1;
- BMEditMesh *em = BMEdit_FromObject(ob);
- // ED_vgroup_give_array(ob->data, &dvert_array, &dvert_tot);
+ BMEditMesh *em;
- if (em == NULL) {
+ if (ob->type == OB_MESH && ((em = BMEdit_FromObject(ob)) != NULL)) {
return;
}
@@ -1302,10 +1301,17 @@
vg_users[i1]++;
/* TODO, we may want object mode blending */
- if(em) dvert= CustomData_bmesh_get(&em->bm->vdata, eve->head.data, CD_MDEFORMVERT);
- else dvert= dvert_array+i2;
+#if 0
+ if (em) {
+ dvert = CustomData_bmesh_get(&em->bm->vdata, eve->head.data, CD_MDEFORMVERT);
+ }
+ else
+#endif
+ {
+ dvert= dvert_array+i2;
+ }
- dw= defvert_find_index(dvert, def_nr);
+ dw = defvert_find_index(dvert, def_nr);
if(dw) {
vg_weights[i1] += dw->weight;
@@ -2037,7 +2043,7 @@
return (ob && !ob->id.lib && OB_TYPE_SUPPORT_VGROUP(ob->type) && data && !data->lib);
}
-static int UNUSED_FUNCTION(vertex_group_poll_edit)(bContext *C)
+static int vertex_group_poll_edit(bContext *C)
{
Object *ob= ED_object_context(C);
ID *data= (ob)? ob->data: NULL;
@@ -2502,7 +2508,7 @@
ot->description= "";
/* api callbacks */
- ot->poll= vertex_group_poll;
+ ot->poll= vertex_group_poll_edit; /* TODO - add object mode support */
ot->exec= vertex_group_blend_exec;
/* flags */
Modified: trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.c 2012-03-07 22:21:28 UTC (rev 44721)
+++ trunk/blender/source/blender/modifiers/intern/MOD_fluidsim_util.c 2012-03-08 00:23:28 UTC (rev 44722)
@@ -152,9 +152,8 @@
void fluidsim_free(FluidsimModifierData *fluidmd)
{
- if(fluidmd) {
- if(fluidmd->fss->meshVelocities)
- {
+ if (fluidmd && fluidmd->fss) {
+ if (fluidmd->fss->meshVelocities) {
MEM_freeN(fluidmd->fss->meshVelocities);
fluidmd->fss->meshVelocities = NULL;
}
More information about the Bf-blender-cvs
mailing list