From f992be951fcb4ca9a0a9054a4dcbd8ddd0939214 Mon Sep 17 00:00:00 2001 From: EST 1998 Matthew Wilson Date: Wed, 1 Apr 1998 09:04:00 +0000 Subject: [PATCH] Only destroy the current tool if you change gdisplays and the tool caches Wed Apr 01 04:07:29 EST 1998 Matthew Wilson * app/disp_callbacks.c: Only destroy the current tool if you change gdisplays and the tool caches image data. --Matt "flood the commits-list" Wilson --- ChangeLog | 5 +++++ app/disp_callbacks.c | 2 +- app/display/gimpdisplay-callbacks.c | 2 +- app/display/gimpdisplayshell-callbacks.c | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index e60ee5d9bf..fe0b03b45a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Apr 01 04:07:29 EST 1998 Matthew Wilson + + * app/disp_callbacks.c: Only destroy the current tool if you change + gdisplays and the tool caches image data. + Wed Apr 01 03:40:15 EST 1998 Matthew Wilson * app/disp_callbacks.c: If the current gdisp->ID does not match diff --git a/app/disp_callbacks.c b/app/disp_callbacks.c index db09e8601d..b152cbebca 100644 --- a/app/disp_callbacks.c +++ b/app/disp_callbacks.c @@ -150,7 +150,7 @@ gdisplay_canvas_events (GtkWidget *canvas, /* Reset the current tool if we're changing displays... */ tool_gdisp = active_tool->gdisp_ptr; if (tool_gdisp) - if (tool_gdisp->ID != gdisp->ID) + if (tool_gdisp->ID != gdisp->ID && !active_tool->preserve) tools_select(active_tool->type); (* active_tool->button_press_func) (active_tool, bevent, gdisp); } diff --git a/app/display/gimpdisplay-callbacks.c b/app/display/gimpdisplay-callbacks.c index db09e8601d..b152cbebca 100644 --- a/app/display/gimpdisplay-callbacks.c +++ b/app/display/gimpdisplay-callbacks.c @@ -150,7 +150,7 @@ gdisplay_canvas_events (GtkWidget *canvas, /* Reset the current tool if we're changing displays... */ tool_gdisp = active_tool->gdisp_ptr; if (tool_gdisp) - if (tool_gdisp->ID != gdisp->ID) + if (tool_gdisp->ID != gdisp->ID && !active_tool->preserve) tools_select(active_tool->type); (* active_tool->button_press_func) (active_tool, bevent, gdisp); } diff --git a/app/display/gimpdisplayshell-callbacks.c b/app/display/gimpdisplayshell-callbacks.c index db09e8601d..b152cbebca 100644 --- a/app/display/gimpdisplayshell-callbacks.c +++ b/app/display/gimpdisplayshell-callbacks.c @@ -150,7 +150,7 @@ gdisplay_canvas_events (GtkWidget *canvas, /* Reset the current tool if we're changing displays... */ tool_gdisp = active_tool->gdisp_ptr; if (tool_gdisp) - if (tool_gdisp->ID != gdisp->ID) + if (tool_gdisp->ID != gdisp->ID && !active_tool->preserve) tools_select(active_tool->type); (* active_tool->button_press_func) (active_tool, bevent, gdisp); }