Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-03-08 04:23:28 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-03-08 04:23:28 +0400
commit52db32bb53cf4d1b8b098238b1e896e8502027d2 (patch)
tree88465e8231b53343ac213332d988952afb42dccb /source
parent6bed106ed4b0701bdb404a87dfa0c4805dc4bb60 (diff)
fix for 2 crashes from missing NULL checks.
Diffstat (limited to 'source')
-rw-r--r--source/blender/blenkernel/intern/editderivedmesh.c2
-rw-r--r--source/blender/editors/mesh/bmesh_tools.c2
-rw-r--r--source/blender/editors/object/object_vgroup.c22
-rw-r--r--source/blender/modifiers/intern/MOD_fluidsim_util.c5
4 files changed, 18 insertions, 13 deletions
diff --git a/source/blender/blenkernel/intern/editderivedmesh.c b/source/blender/blenkernel/intern/editderivedmesh.c
index 06712d38890..943f499ed1b 100644
--- a/source/blender/blenkernel/intern/editderivedmesh.c
+++ b/source/blender/blenkernel/intern/editderivedmesh.c
@@ -1717,5 +1717,5 @@ DerivedMesh *getEditDerivedBMesh(
BMEditMesh *BMEdit_FromObject(Object *ob)
{
BLI_assert(ob->type == OB_MESH);
- return ((Mesh *) ob->data )->edit_btmesh;
+ return ((Mesh *)ob->data)->edit_btmesh;
}
diff --git a/source/blender/editors/mesh/bmesh_tools.c b/source/blender/editors/mesh/bmesh_tools.c
index fa36113135e..d1a8b2ae896 100644
--- a/source/blender/editors/mesh/bmesh_tools.c
+++ b/source/blender/editors/mesh/bmesh_tools.c
@@ -413,7 +413,7 @@ void MESH_OT_extrude_repeat(wmOperatorType *ot)
/* 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;
diff --git a/source/blender/editors/object/object_vgroup.c b/source/blender/editors/object/object_vgroup.c
index b0a3518b03a..870221d6ec3 100644
--- a/source/blender/editors/object/object_vgroup.c
+++ b/source/blender/editors/object/object_vgroup.c
@@ -1257,10 +1257,9 @@ static void vgroup_blend(Object *ob)
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 @@ static void vgroup_blend(Object *ob)
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 @@ static int vertex_group_poll(bContext *C)
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 @@ void OBJECT_OT_vertex_group_blend(wmOperatorType *ot)
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 */
diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c
index dc0c4d5ad86..e9563b55d47 100644
--- a/source/blender/modifiers/intern/MOD_fluidsim_util.c
+++ b/source/blender/modifiers/intern/MOD_fluidsim_util.c
@@ -152,9 +152,8 @@ void fluidsim_init(FluidsimModifierData *fluidmd)
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;
}