Revision: 32664
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32664
Author:   blendix
Date:     2010-10-23 12:41:28 +0200 (Sat, 23 Oct 2010)

Log Message:
-----------
Fix #24363: trying to separate mesh with shape keys didn't display warning
when it failed due to there being shape keys.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/mesh/editmesh.c

Modified: trunk/blender/source/blender/editors/mesh/editmesh.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh.c        2010-10-23 
10:06:40 UTC (rev 32663)
+++ trunk/blender/source/blender/editors/mesh/editmesh.c        2010-10-23 
10:41:28 UTC (rev 32664)
@@ -1324,7 +1324,7 @@
 };
 
 /* return 1: success */
-static int mesh_separate_selected(Main *bmain, Scene *scene, Base *editbase)
+static int mesh_separate_selected(wmOperator *op, Main *bmain, Scene *scene, 
Base *editbase)
 {
        EditMesh *em, *emnew;
        EditVert *eve, *v1;
@@ -1340,7 +1340,7 @@
        me= obedit->data;
        em= BKE_mesh_get_editmesh(me);
        if(me->key) {
-               error("Can't separate with vertex keys");
+               BKE_report(op->reports, RPT_WARNING, "Can't separate mesh with 
shape keys.");
                BKE_mesh_end_editmesh(me, em);
                return 0;
        }
@@ -1435,7 +1435,7 @@
 }
 
 /* return 1: success */
-static int mesh_separate_material(Main *bmain, Scene *scene, Base *editbase)
+static int mesh_separate_material(wmOperator *op, Main *bmain, Scene *scene, 
Base *editbase)
 {
        Mesh *me= editbase->object->data;
        EditMesh *em= BKE_mesh_get_editmesh(me);
@@ -1447,7 +1447,7 @@
                /* select the material */
                EM_select_by_material(em, curr_mat);
                /* and now separate */
-               if(0==mesh_separate_selected(bmain, scene, editbase)) {
+               if(0==mesh_separate_selected(op, bmain, scene, editbase)) {
                        BKE_mesh_end_editmesh(me, em);
                        return 0;
                }
@@ -1458,7 +1458,7 @@
 }
 
 /* return 1: success */
-static int mesh_separate_loose(Main *bmain, Scene *scene, Base *editbase)
+static int mesh_separate_loose(wmOperator *op, Main *bmain, Scene *scene, Base 
*editbase)
 {
        Mesh *me;
        EditMesh *em;
@@ -1498,7 +1498,7 @@
                tot= BLI_countlist(&em->verts);
 
                /* and now separate */
-               doit= mesh_separate_selected(bmain, scene, editbase);
+               doit= mesh_separate_selected(op, bmain, scene, editbase);
 
                /* with hidden verts this can happen */
                if(tot == BLI_countlist(&em->verts))
@@ -1518,11 +1518,11 @@
        int retval= 0, type= RNA_enum_get(op->ptr, "type");
        
        if(type == 0)
-               retval= mesh_separate_selected(bmain, scene, base);
+               retval= mesh_separate_selected(op, bmain, scene, base);
        else if(type == 1)
-               retval= mesh_separate_material(bmain, scene, base);
+               retval= mesh_separate_material(op, bmain, scene, base);
        else if(type == 2)
-               retval= mesh_separate_loose(bmain, scene, base);
+               retval= mesh_separate_loose(op, bmain, scene, base);
           
        if(retval) {
                WM_event_add_notifier(C, NC_GEOM|ND_DATA, base->object->data);


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

Reply via email to