From 2aa246f5e9e27d0fcb624dd66cf9ecc5a4e01f7a Mon Sep 17 00:00:00 2001 From: Richard McLean Date: Fri, 26 May 2017 00:06:58 +0100 Subject: [PATCH] Bug 783108 - Make paint tools draw in all open views Committed with minor fixes by the reviewer (Jehan). --- app/tools/gimppainttool.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/app/tools/gimppainttool.c b/app/tools/gimppainttool.c index ab35f1bc8b..31ad79da39 100644 --- a/app/tools/gimppainttool.c +++ b/app/tools/gimppainttool.c @@ -24,6 +24,7 @@ #include "libgimpmath/gimpmath.h" #include "tools-types.h" +#include "core/gimp.h" #include "config/gimpdisplayconfig.h" @@ -257,6 +258,7 @@ gimp_paint_tool_button_press (GimpTool *tool, GimpCoords curr_coords; gint off_x, off_y; GError *error = NULL; + GList *list; if (gimp_color_tool_is_enabled (GIMP_COLOR_TOOL (tool))) { @@ -364,7 +366,14 @@ gimp_paint_tool_button_press (GimpTool *tool, } gimp_projection_flush_now (gimp_image_get_projection (image)); - gimp_display_flush_now (display); + + /* Update all views this image is in. */ + for (list = gimp_get_display_iter (image->gimp); + list; + list = g_list_next (list)) + { + gimp_display_flush_now (GIMP_DISPLAY (list->data)); + } gimp_draw_tool_start (draw_tool, display); } @@ -429,6 +438,7 @@ gimp_paint_tool_motion (GimpTool *tool, GimpDrawable *drawable = gimp_image_get_active_drawable (image); GimpCoords curr_coords; gint off_x, off_y; + GList *list; GIMP_TOOL_CLASS (parent_class)->motion (tool, coords, time, state, display); @@ -457,7 +467,14 @@ gimp_paint_tool_motion (GimpTool *tool, &curr_coords, time); gimp_projection_flush_now (gimp_image_get_projection (image)); - gimp_display_flush_now (display); + + /* Update all views this image is in. */ + for (list = gimp_get_display_iter (image->gimp); + list; + list = g_list_next (list)) + { + gimp_display_flush_now (GIMP_DISPLAY (list->data)); + } gimp_draw_tool_resume (GIMP_DRAW_TOOL (tool)); }