diff --git a/app/core/gimpdrawable-floating-selection.c b/app/core/gimpdrawable-floating-selection.c index 43949477cf..4aafb009a2 100644 --- a/app/core/gimpdrawable-floating-selection.c +++ b/app/core/gimpdrawable-floating-selection.c @@ -60,6 +60,8 @@ static void gimp_drawable_fs_visibility_changed (GimpLayer *fs GimpDrawable *drawable); static void gimp_drawable_fs_excludes_backdrop_changed (GimpLayer *fs, GimpDrawable *drawable); +static void gimp_drawable_fs_bounding_box_changed (GimpLayer *fs, + GimpDrawable *drawable); static void gimp_drawable_fs_update (GimpLayer *fs, gint x, gint y, @@ -110,6 +112,9 @@ gimp_drawable_attach_floating_sel (GimpDrawable *drawable, g_signal_connect (fs, "excludes-backdrop-changed", G_CALLBACK (gimp_drawable_fs_excludes_backdrop_changed), drawable); + g_signal_connect (fs, "bounding-box-changed", + G_CALLBACK (gimp_drawable_fs_bounding_box_changed), + drawable); g_signal_connect (fs, "update", G_CALLBACK (gimp_drawable_fs_update), drawable); @@ -143,6 +148,9 @@ gimp_drawable_detach_floating_sel (GimpDrawable *drawable) g_signal_handlers_disconnect_by_func (fs, gimp_drawable_fs_excludes_backdrop_changed, drawable); + g_signal_handlers_disconnect_by_func (fs, + gimp_drawable_fs_bounding_box_changed, + drawable); g_signal_handlers_disconnect_by_func (fs, gimp_drawable_fs_update, drawable); @@ -459,6 +467,13 @@ gimp_drawable_fs_excludes_backdrop_changed (GimpLayer *fs, gimp_drawable_update (drawable, 0, 0, -1, -1); } +static void +gimp_drawable_fs_bounding_box_changed (GimpLayer *fs, + GimpDrawable *drawable) +{ + gimp_drawable_update_bounding_box (drawable); +} + static void gimp_drawable_fs_update (GimpLayer *fs, gint x,