[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47411] branches/soc-2011-tomato/source/ blender/editors/mask/mask_add.c: dont extrude from active-unselected mask-spline verts.

Campbell Barton ideasman42 at gmail.com
Mon Jun 4 16:35:46 CEST 2012


Revision: 47411
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47411
Author:   campbellbarton
Date:     2012-06-04 14:35:45 +0000 (Mon, 04 Jun 2012)
Log Message:
-----------
dont extrude from active-unselected mask-spline verts.

Modified Paths:
--------------
    branches/soc-2011-tomato/source/blender/editors/mask/mask_add.c

Modified: branches/soc-2011-tomato/source/blender/editors/mask/mask_add.c
===================================================================
--- branches/soc-2011-tomato/source/blender/editors/mask/mask_add.c	2012-06-04 14:27:13 UTC (rev 47410)
+++ branches/soc-2011-tomato/source/blender/editors/mask/mask_add.c	2012-06-04 14:35:45 UTC (rev 47411)
@@ -317,7 +317,7 @@
 	*point = NULL;
 
 	if (check_active) {
-		if (masklay->act_spline && masklay->act_point) {
+		if (masklay->act_spline && masklay->act_point && MASKPOINT_ISSEL_ANY(masklay->act_point)) {
 			*spline = masklay->act_spline;
 			*point = masklay->act_point;
 			return;
@@ -415,8 +415,6 @@
 	int do_recalc_src = FALSE;  /* when extruding from endpoints only */
 	int do_prev;                /* use prev point rather then next?? */
 
-	ED_mask_select_toggle_all(mask, SEL_DESELECT);
-
 	if (!masklay) {
 		return FALSE;
 	}
@@ -424,6 +422,8 @@
 		finSelectedSplinePoint(masklay, &spline, &point, TRUE);
 	}
 
+	ED_mask_select_toggle_all(mask, SEL_DESELECT);
+
 	point_index = (point - spline->points);
 
 	MASKPOINT_DESEL_ALL(point);
@@ -507,8 +507,6 @@
 	MaskSplinePoint *point;
 	MaskSplinePoint *new_point = NULL, *ref_point = NULL;
 
-	ED_mask_select_toggle_all(mask, SEL_DESELECT);
-
 	if (!masklay) {
 		/* if there's no masklay currently operationg on, create new one */
 		masklay = BKE_mask_layer_new(mask, "");
@@ -520,6 +518,8 @@
 		finSelectedSplinePoint(masklay, &spline, &point, TRUE);
 	}
 
+	ED_mask_select_toggle_all(mask, SEL_DESELECT);
+
 	if (!spline) {
 		/* no selected splines in active masklay, create new spline */
 		spline = BKE_mask_spline_add(masklay);




More information about the Bf-blender-cvs mailing list