[Bf-blender-cvs] [7ced3da6ac2] blender2.8: GP: Cleanup duplicated code moving to function

Antonioya noreply at git.blender.org
Wed Nov 28 20:15:07 CET 2018


Commit: 7ced3da6ac25b95ad94541770f63905449ec37e8
Author: Antonioya
Date:   Wed Nov 28 20:14:48 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB7ced3da6ac25b95ad94541770f63905449ec37e8

GP: Cleanup duplicated code moving to function

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

M	source/blender/editors/gpencil/gpencil_select.c

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

diff --git a/source/blender/editors/gpencil/gpencil_select.c b/source/blender/editors/gpencil/gpencil_select.c
index bf90a13b584..ad943a38a64 100644
--- a/source/blender/editors/gpencil/gpencil_select.c
+++ b/source/blender/editors/gpencil/gpencil_select.c
@@ -1299,6 +1299,28 @@ void GPENCIL_OT_select_lasso(wmOperatorType *ot)
 /** \name Mouse Pick Select Operator
  * \{ */
 
+/* helper to deselect all selected strokes/points */
+static void deselect_all_selected(bContext *C)
+{
+	CTX_DATA_BEGIN(C, bGPDstroke *, gps, editable_gpencil_strokes)
+	{
+		/* deselect stroke and its points if selected */
+		if (gps->flag & GP_STROKE_SELECT) {
+			bGPDspoint *pt;
+			int i;
+
+			/* deselect points */
+			for (i = 0, pt = gps->points; i < gps->totpoints; i++, pt++) {
+				pt->flag &= ~GP_SPOINT_SELECT;
+			}
+
+			/* deselect stroke itself too */
+			gps->flag &= ~GP_STROKE_SELECT;
+		}
+	}
+	CTX_DATA_END;
+}
+
 static int gpencil_select_exec(bContext *C, wmOperator *op)
 {
 	ScrArea *sa = CTX_wm_area(C);
@@ -1376,23 +1398,8 @@ static int gpencil_select_exec(bContext *C, wmOperator *op)
 	if (ELEM(NULL, hit_stroke, hit_point)) {
 
 		/* since left mouse select change, deselect all if click outside any hit */
-		CTX_DATA_BEGIN(C, bGPDstroke *, gps, editable_gpencil_strokes)
-		{
-			/* deselect stroke and its points if selected */
-			if (gps->flag & GP_STROKE_SELECT) {
-				bGPDspoint *pt;
-				int i;
+		deselect_all_selected(C);
 
-				/* deselect points */
-				for (i = 0, pt = gps->points; i < gps->totpoints; i++, pt++) {
-					pt->flag &= ~GP_SPOINT_SELECT;
-				}
-
-				/* deselect stroke itself too */
-				gps->flag &= ~GP_STROKE_SELECT;
-			}
-		}
-		CTX_DATA_END;
 		/* copy on write tag is needed, or else no refresh happens */
 		DEG_id_tag_update(&gpd->id, OB_RECALC_DATA);
 		DEG_id_tag_update(&gpd->id, DEG_TAG_COPY_ON_WRITE);
@@ -1408,23 +1415,7 @@ static int gpencil_select_exec(bContext *C, wmOperator *op)
 
 	/* If not extending selection, deselect everything else */
 	if (extend == false) {
-		CTX_DATA_BEGIN(C, bGPDstroke *, gps, editable_gpencil_strokes)
-		{
-			/* deselect stroke and its points if selected */
-			if (gps->flag & GP_STROKE_SELECT) {
-				bGPDspoint *pt;
-				int i;
-
-				/* deselect points */
-				for (i = 0, pt = gps->points; i < gps->totpoints; i++, pt++) {
-					pt->flag &= ~GP_SPOINT_SELECT;
-				}
-
-				/* deselect stroke itself too */
-				gps->flag &= ~GP_STROKE_SELECT;
-			}
-		}
-		CTX_DATA_END;
+		deselect_all_selected(C);
 	}
 
 	/* Perform selection operations... */



More information about the Bf-blender-cvs mailing list