[Bf-blender-cvs] [6480fdc] master: Cancel edge-rip macro if no changes are made.

Campbell Barton noreply at git.blender.org
Wed Sep 10 08:22:16 CEST 2014


Commit: 6480fdcae4c722468c87570b81e321c518fcbe53
Author: Campbell Barton
Date:   Wed Sep 10 16:20:08 2014 +1000
Branches: master
https://developer.blender.org/rB6480fdcae4c722468c87570b81e321c518fcbe53

Cancel edge-rip macro if no changes are made.

===================================================================

M	source/blender/editors/mesh/editmesh_rip_edge.c

===================================================================

diff --git a/source/blender/editors/mesh/editmesh_rip_edge.c b/source/blender/editors/mesh/editmesh_rip_edge.c
index 9ffdd71..5daf33f 100644
--- a/source/blender/editors/mesh/editmesh_rip_edge.c
+++ b/source/blender/editors/mesh/editmesh_rip_edge.c
@@ -63,6 +63,7 @@ static int edbm_rip_edge_invoke(bContext *C, wmOperator *UNUSED(op), const wmEve
 	const float mval_fl[2] = {UNPACK2(event->mval)};
 	float cent_sco[2];
 	int cent_tot;
+	bool changed = false;
 
 	/* mouse direction to view center */
 	float mval_dir[2];
@@ -211,17 +212,24 @@ found_edge:
 					BM_edge_select_set(bm, e_best, true);
 				}
 				BM_elem_flag_enable(v_new, BM_ELEM_TAG);  /* prevent further splitting */
+
+				changed = true;
 			}
 		}
 	}
 
-	BM_select_history_clear(bm);
+	if (changed) {
+		BM_select_history_clear(bm);
 
-	BM_mesh_select_mode_flush(bm);
+		BM_mesh_select_mode_flush(bm);
 
-	EDBM_update_generic(em, true, true);
+		EDBM_update_generic(em, true, true);
 
-	return OPERATOR_FINISHED;
+		return OPERATOR_FINISHED;
+	}
+	else {
+		return OPERATOR_CANCELLED;
+	}
 }




More information about the Bf-blender-cvs mailing list