[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45823] trunk/blender/source/blender/ editors/mesh: fix [#31047] ctrl+mouse select in edit-mode does not select external object

Campbell Barton ideasman42 at gmail.com
Sat Apr 21 14:14:08 CEST 2012


Revision: 45823
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45823
Author:   campbellbarton
Date:     2012-04-21 12:14:07 +0000 (Sat, 21 Apr 2012)
Log Message:
-----------
fix [#31047] ctrl+mouse select in edit-mode does not select external object
fix [#30535] Shortest Path Select not working well in vertex mode.

regression from after bmesh merge, Ctrl+Right mouse for selecting shortest path is meant for edge mode only.

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

Modified: trunk/blender/source/blender/editors/mesh/editmesh_rip.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_rip.c	2012-04-21 06:42:21 UTC (rev 45822)
+++ trunk/blender/source/blender/editors/mesh/editmesh_rip.c	2012-04-21 12:14:07 UTC (rev 45823)
@@ -663,7 +663,7 @@
 	}
 
 	/* note: the output of the bmesh operator is ignored, since we built
-	 * the contiguous loop pairs to split already, its possibe that some
+	 * the contiguous loop pairs to split already, its possible that some
 	 * edge did not split even though it was tagged which would not work
 	 * as expected (but not crash), however there are checks to ensure
 	 * tagged edges will split. So far its not been an issue. */

Modified: trunk/blender/source/blender/editors/mesh/editmesh_select.c
===================================================================
--- trunk/blender/source/blender/editors/mesh/editmesh_select.c	2012-04-21 06:42:21 UTC (rev 45822)
+++ trunk/blender/source/blender/editors/mesh/editmesh_select.c	2012-04-21 12:14:07 UTC (rev 45823)
@@ -1415,7 +1415,17 @@
 	
 	return OPERATOR_FINISHED;
 }
-	
+
+static int edbm_shortest_path_select_poll(bContext *C)
+{
+	if(ED_operator_editmesh_region_view3d(C)) {
+		Object *obedit = CTX_data_edit_object(C);
+		BMEditMesh *em = BMEdit_FromObject(obedit);
+		return (em->selectmode & SCE_SELECT_EDGE) != 0;
+	}
+	return 0;
+}
+
 void MESH_OT_select_shortest_path(wmOperatorType *ot)
 {
 	/* identifiers */
@@ -1425,7 +1435,7 @@
 	
 	/* api callbacks */
 	ot->invoke = edbm_shortest_path_select_invoke;
-	ot->poll = ED_operator_editmesh;
+	ot->poll = edbm_shortest_path_select_poll;
 	
 	/* flags */
 	ot->flag = OPTYPE_REGISTER | OPTYPE_UNDO;




More information about the Bf-blender-cvs mailing list