gimp r25756 - in trunk: . app/tools



Author: martinn
Date: Thu May 22 15:40:18 2008
New Revision: 25756
URL: http://svn.gnome.org/viewvc/gimp?rev=25756&view=rev

Log:
2008-05-22  Martin Nordholts  <martinn svn gnome org>

	* app/tools/gimpfreeselecttool.c: Remember the selection operation
	in use when the tool was started, and use that when doing the
	selection. Improvements are still to be made with regards to
	synchronizing the tool options with the selection operation
	actually used.


Modified:
   trunk/ChangeLog
   trunk/app/tools/gimpfreeselecttool.c

Modified: trunk/app/tools/gimpfreeselecttool.c
==============================================================================
--- trunk/app/tools/gimpfreeselecttool.c	(original)
+++ trunk/app/tools/gimpfreeselecttool.c	Thu May 22 15:40:18 2008
@@ -98,6 +98,10 @@
 
   /* The number of segment indices actually in use */
   gint               n_segment_indices;
+
+  /* The selection operation active when the tool was started */
+  GimpChannelOps     operation_at_start;
+
 } Private;
 
 
@@ -452,8 +456,10 @@
                              GimpCoords         *coords,
                              GimpDisplay        *display)
 {
-  GimpTool     *tool      = GIMP_TOOL (fst);
-  GimpDrawTool *draw_tool = GIMP_DRAW_TOOL (tool);
+  GimpTool             *tool      = GIMP_TOOL (fst);
+  GimpDrawTool         *draw_tool = GIMP_DRAW_TOOL (tool);
+  GimpSelectionOptions *options   = GIMP_SELECTION_TOOL_GET_OPTIONS (fst);
+  Private              *priv      = GET_PRIVATE (fst);
 
   gimp_free_select_tool_halt (fst);
 
@@ -463,6 +469,10 @@
 
   gimp_draw_tool_start (draw_tool, display);
 
+  /* We want to apply the selection operation that was current when
+   * the tool was started, so we save this information */
+  priv->operation_at_start = options->operation;
+
   gimp_selection_tool_start_edit (GIMP_SELECTION_TOOL (fst),
                                   coords);
 }
@@ -1171,7 +1181,7 @@
                                Q_("command|Free Select"),
                                priv->n_points,
                                priv->points,
-                               options->operation,
+                               priv->operation_at_start,
                                options->antialias,
                                options->feather,
                                options->feather_radius,



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]