Unbreak rectangle select tool undo handling a bit:
2007-02-08 Michael Natterer <mitch@gimp.org> Unbreak rectangle select tool undo handling a bit: * app/tools/gimprectangleselecttool.c (gimp_rect_select_tool_select): add boolean return value indicating if something was actually selected. (gimp_rect_select_tool_rectangle_changed): peek the newly pushed undo only if we selected something. svn path=/trunk/; revision=21866
This commit is contained in:

committed by
Michael Natterer

parent
50a39fb96e
commit
f7bfea19d9
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
2007-02-08 Michael Natterer <mitch@gimp.org>
|
||||||
|
|
||||||
|
Unbreak rectangle select tool undo handling a bit:
|
||||||
|
|
||||||
|
* app/tools/gimprectangleselecttool.c (gimp_rect_select_tool_select):
|
||||||
|
add boolean return value indicating if something was actually selected.
|
||||||
|
|
||||||
|
(gimp_rect_select_tool_rectangle_changed): peek the newly pushed
|
||||||
|
undo only if we selected something.
|
||||||
|
|
||||||
2007-02-08 Sven Neumann <sven@gimp.org>
|
2007-02-08 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
* libgimpwidgets/gimpratioentry.[ch]: added history and completion.
|
* libgimpwidgets/gimpratioentry.[ch]: added history and completion.
|
||||||
|
@ -91,7 +91,7 @@ static void gimp_rect_select_tool_cursor_update (GimpTool *to
|
|||||||
GdkModifierType state,
|
GdkModifierType state,
|
||||||
GimpDisplay *display);
|
GimpDisplay *display);
|
||||||
static void gimp_rect_select_tool_draw (GimpDrawTool *draw_tool);
|
static void gimp_rect_select_tool_draw (GimpDrawTool *draw_tool);
|
||||||
static void gimp_rect_select_tool_select (GimpRectangleTool *rect_tool,
|
static gboolean gimp_rect_select_tool_select (GimpRectangleTool *rect_tool,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
gint w,
|
gint w,
|
||||||
@ -483,7 +483,7 @@ gimp_rect_select_tool_cursor_update (GimpTool *tool,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static gboolean
|
||||||
gimp_rect_select_tool_select (GimpRectangleTool *rectangle,
|
gimp_rect_select_tool_select (GimpRectangleTool *rectangle,
|
||||||
gint x,
|
gint x,
|
||||||
gint y,
|
gint y,
|
||||||
@ -517,6 +517,8 @@ gimp_rect_select_tool_select (GimpRectangleTool *rectangle,
|
|||||||
GIMP_RECT_SELECT_TOOL_GET_CLASS (rect_select)->select (rect_select,
|
GIMP_RECT_SELECT_TOOL_GET_CLASS (rect_select)->select (rect_select,
|
||||||
operation,
|
operation,
|
||||||
x, y, w, h);
|
x, y, w, h);
|
||||||
|
|
||||||
|
return rectangle_exists;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -743,11 +745,14 @@ gimp_rect_select_tool_rectangle_changed (GimpRectangleTool *rectangle)
|
|||||||
"y2", &y2,
|
"y2", &y2,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
gimp_rect_select_tool_select (rectangle, x1, y1, x2 - x1, y2 - y1);
|
if (gimp_rect_select_tool_select (rectangle, x1, y1, x2 - x1, y2 - y1))
|
||||||
|
{
|
||||||
/* save the undo that we got when executing */
|
/* save the undo that we got when executing, but only if
|
||||||
rect_select->undo = gimp_undo_stack_peek (image->undo_stack);
|
* we actually selected something
|
||||||
rect_select->redo = NULL;
|
*/
|
||||||
|
rect_select->undo = gimp_undo_stack_peek (image->undo_stack);
|
||||||
|
rect_select->redo = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (! rect_select->use_saved_op)
|
if (! rect_select->use_saved_op)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user