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;
                }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to