From 459836ee090bc7941c70ff0f7feb1bfaaa3b464b Mon Sep 17 00:00:00 2001 From: Jehan Date: Thu, 31 Aug 2023 20:33:31 +0200 Subject: [PATCH] Issue #9710: layers borders not properly refreshed. This was a regression appeared with commit 1b3af8a89b. We still don't want to flush the whole image, but if the selected layers change, we want to flush the display shell. --- app/display/gimpdisplay-handlers.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/app/display/gimpdisplay-handlers.c b/app/display/gimpdisplay-handlers.c index 94cb863ad7..2588557834 100644 --- a/app/display/gimpdisplay-handlers.c +++ b/app/display/gimpdisplay-handlers.c @@ -42,9 +42,6 @@ static void gimp_display_bounds_changed_handler (GimpImage *image, gint old_x, gint old_y, GimpDisplay *display); -static void gimp_display_flush_handler (GimpImage *image, - gboolean invalidate_preview, - GimpDisplay *display); /* public functions */ @@ -67,9 +64,12 @@ gimp_display_connect (GimpDisplay *display) g_signal_connect (image, "bounds-changed", G_CALLBACK (gimp_display_bounds_changed_handler), display); - g_signal_connect (image, "flush", - G_CALLBACK (gimp_display_flush_handler), - display); + g_signal_connect_swapped (image, "flush", + G_CALLBACK (gimp_display_flush), + display); + g_signal_connect_swapped (image, "selected-layers-changed", + G_CALLBACK (gimp_display_flush), + display); } void @@ -84,7 +84,7 @@ gimp_display_disconnect (GimpDisplay *display) g_return_if_fail (GIMP_IS_IMAGE (image)); g_signal_handlers_disconnect_by_func (image, - gimp_display_flush_handler, + gimp_display_flush, display); g_signal_handlers_disconnect_by_func (image, gimp_display_bounds_changed_handler, @@ -118,11 +118,3 @@ gimp_display_bounds_changed_handler (GimpImage *image, { gimp_display_update_bounding_box (display); } - -static void -gimp_display_flush_handler (GimpImage *image, - gboolean invalidate_preview, - GimpDisplay *display) -{ - gimp_display_flush (display); -}