[Bf-blender-cvs] [28f31bd] master: etch-a-ton: fix crash selecting strokes

Campbell Barton noreply at git.blender.org
Tue Feb 17 07:22:25 CET 2015


Commit: 28f31bdfd807e35d7016623cc9af8467165a1052
Author: Campbell Barton
Date:   Tue Feb 17 16:49:30 2015 +1100
Branches: master
https://developer.blender.org/rB28f31bdfd807e35d7016623cc9af8467165a1052

etch-a-ton: fix crash selecting strokes

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

M	source/blender/editors/armature/armature_intern.h
M	source/blender/editors/armature/armature_select.c
M	source/blender/editors/armature/editarmature_sketch.c

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

diff --git a/source/blender/editors/armature/armature_intern.h b/source/blender/editors/armature/armature_intern.h
index 6d61638..2c64c9a 100644
--- a/source/blender/editors/armature/armature_intern.h
+++ b/source/blender/editors/armature/armature_intern.h
@@ -215,7 +215,7 @@ void POSE_OT_propagate(struct wmOperatorType *ot);
  */
 
 EditBone *make_boneList(struct ListBase *edbo, struct ListBase *bones, struct EditBone *parent, struct Bone *actBone);
-void BIF_sk_selectStroke(struct bContext *C, const int mval[2], short extend);
+bool BIF_sk_selectStroke(struct bContext *C, const int mval[2], const bool extend);
 
 /* duplicate method */
 void preEditBoneDuplicate(struct ListBase *editbones);
diff --git a/source/blender/editors/armature/armature_select.c b/source/blender/editors/armature/armature_select.c
index 307e6c0..da5d660 100644
--- a/source/blender/editors/armature/armature_select.c
+++ b/source/blender/editors/armature/armature_select.c
@@ -485,7 +485,9 @@ bool mouse_armature(bContext *C, const int mval[2], bool extend, bool deselect,
 
 	view3d_set_viewcontext(C, &vc);
 	
-	BIF_sk_selectStroke(C, mval, extend);
+	if (BIF_sk_selectStroke(C, mval, extend)) {
+		return true;
+	}
 	
 	nearBone = get_nearest_editbonepoint(&vc, mval, arm->edbo, 1, &selmask);
 	if (nearBone) {
diff --git a/source/blender/editors/armature/editarmature_sketch.c b/source/blender/editors/armature/editarmature_sketch.c
index 6c2d425..c0098a3 100644
--- a/source/blender/editors/armature/editarmature_sketch.c
+++ b/source/blender/editors/armature/editarmature_sketch.c
@@ -1951,7 +1951,7 @@ static void sk_applyGesture(bContext *C, SK_Sketch *sketch)
 /********************************************/
 
 
-static int sk_selectStroke(bContext *C, SK_Sketch *sketch, const int mval[2], int extend)
+static bool sk_selectStroke(bContext *C, SK_Sketch *sketch, const int mval[2], const bool extend)
 {
 	ViewContext vc;
 	rcti rect;
@@ -2239,15 +2239,19 @@ static int sketch_delete(bContext *C, wmOperator *UNUSED(op), const wmEvent *UNU
 	return OPERATOR_FINISHED;
 }
 
-void BIF_sk_selectStroke(bContext *C, const int mval[2], short extend)
+bool BIF_sk_selectStroke(bContext *C, const int mval[2], const bool extend)
 {
 	ToolSettings *ts = CTX_data_tool_settings(C);
 	SK_Sketch *sketch = contextSketch(C, 0);
 
 	if (sketch != NULL && ts->bone_sketching & BONE_SKETCHING) {
-		if (sk_selectStroke(C, sketch, mval, extend))
+		if (sk_selectStroke(C, sketch, mval, extend)) {
 			ED_area_tag_redraw(CTX_wm_area(C));
+			return true;
+		}
 	}
+
+	return false;
 }
 
 void BIF_convertSketch(bContext *C)




More information about the Bf-blender-cvs mailing list