[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24604] trunk/blender/source/blender/ editors/mesh/editmesh_mods.c: select linked enables seam limit when in face mode and the "limit" property is not set (like in 2.4x)

Campbell Barton ideasman42 at gmail.com
Tue Nov 17 11:57:49 CET 2009


Revision: 24604
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24604
Author:   campbellbarton
Date:     2009-11-17 11:57:49 +0100 (Tue, 17 Nov 2009)

Log Message:
-----------
select linked enables seam limit when in face mode and the "limit" property is not set (like in 2.4x)

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

Modified: trunk/blender/source/blender/editors/mesh/editmesh_mods.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_mods.c	2009-11-17 10:30:54 UTC (rev 24603)
+++ trunk/blender/source/blender/editors/mesh/editmesh_mods.c	2009-11-17 10:57:49 UTC (rev 24604)
@@ -2400,6 +2400,15 @@
 #undef is_face_tag
 #undef face_tag
 
+static void linked_limit_default(bContext *C, wmOperator *op) {
+	if(!RNA_property_is_set(op->ptr, "limit")) {
+		Object *obedit= CTX_data_edit_object(C);
+		EditMesh *em= BKE_mesh_get_editmesh(obedit->data);
+		if(em->selectmode == SCE_SELECT_FACE)
+			RNA_boolean_set(op->ptr, "limit", TRUE);
+	}
+}
+
 static int select_linked_pick_invoke(bContext *C, wmOperator *op, wmEvent *event)
 {
 	Object *obedit= CTX_data_edit_object(C);
@@ -2409,8 +2418,12 @@
 	EditFace *efa;
 	short done=1, toggle=0;
 	int sel= !RNA_boolean_get(op->ptr, "deselect");
-	int limit= RNA_boolean_get(op->ptr, "limit");
+	int limit;
 	
+	linked_limit_default(C, op);
+
+	limit = RNA_boolean_get(op->ptr, "limit");
+
 	/* unified_finednearest needs ogl */
 	view3d_operator_needs_opengl(C);
 	
@@ -2571,6 +2584,12 @@
 	return OPERATOR_FINISHED;	
 }
 
+static int select_linked_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+	linked_limit_default(C, op);
+	return select_linked_exec(C, op);
+}
+
 void MESH_OT_select_linked(wmOperatorType *ot)
 {
 	/* identifiers */
@@ -2580,6 +2599,7 @@
 	
 	/* api callbacks */
 	ot->exec= select_linked_exec;
+	ot->invoke= select_linked_invoke;
 	ot->poll= ED_operator_editmesh;
 	
 	/* flags */





More information about the Bf-blender-cvs mailing list