diff --git a/ChangeLog b/ChangeLog index fb5b979abd..5bbb22223d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Thu Apr 2 01:49:34 EST 1998 Matthew Wilson + + * app/transform_core.c: added a change to make a note of the + current drawable in the button_release. This prevents the tool + from being restarted when the transform_core makes a floating + selection. + * app/tools.c: Initialize the current drawable to NULL if + there is gdisp == NULL. + Thu Apr 2 23:52:54 EST 1998 Matthew Wilson drawable = gimage_active_drawable (gdisp->gimage); + else + active_tool->drawable = NULL; active_tool->gdisp_ptr = NULL; active_tool->ID = global_tool_ID++; active_tool_type = active_tool->type; diff --git a/app/tools/tools.c b/app/tools/tools.c index 4b0967d484..0bb5a58842 100644 --- a/app/tools/tools.c +++ b/app/tools/tools.c @@ -552,6 +552,8 @@ tools_initialize (ToolType type, GDisplay *gdisp_ptr) */ if (gdisp) active_tool->drawable = gimage_active_drawable (gdisp->gimage); + else + active_tool->drawable = NULL; active_tool->gdisp_ptr = NULL; active_tool->ID = global_tool_ID++; active_tool_type = active_tool->type; diff --git a/app/tools/transform_core.c b/app/tools/transform_core.c index 402c3b6ea9..d1d11aa10f 100644 --- a/app/tools/transform_core.c +++ b/app/tools/transform_core.c @@ -268,6 +268,11 @@ transform_core_button_release (tool, bevent, gdisp_ptr) tu->first = first_transform; tu->original = NULL; + /* Make a note of the new current drawable (since we may have + a floating selection, etc now. */ + + tool->drawable = gimage_active_drawable (gdisp->gimage); + undo_push_transform (gdisp->gimage, (void *) tu); } diff --git a/app/transform_core.c b/app/transform_core.c index 402c3b6ea9..d1d11aa10f 100644 --- a/app/transform_core.c +++ b/app/transform_core.c @@ -268,6 +268,11 @@ transform_core_button_release (tool, bevent, gdisp_ptr) tu->first = first_transform; tu->original = NULL; + /* Make a note of the new current drawable (since we may have + a floating selection, etc now. */ + + tool->drawable = gimage_active_drawable (gdisp->gimage); + undo_push_transform (gdisp->gimage, (void *) tu); }