[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32664] trunk/blender/source/blender/ editors/mesh/editmesh.c: Fix #24363: trying to separate mesh with shape keys didn't display warning

Brecht Van Lommel brechtvanlommel at pandora.be
Sat Oct 23 12:41:28 CEST 2010


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





More information about the Bf-blender-cvs mailing list