From fc0c0892082e7d73f2b39fbe91fdc0472c52b1dd Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Sat, 31 May 2025 15:20:27 +0200 Subject: [PATCH] app: fix my own confusion about gimp_drawable_update() vs. gimp_drawable_update_bounding_box(). --- app/core/gimpdrawablefilterundo.c | 2 +- app/widgets/gimpdrawabletreeview-filters.c | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/core/gimpdrawablefilterundo.c b/app/core/gimpdrawablefilterundo.c index 8301367c1b..a2d7522ec1 100644 --- a/app/core/gimpdrawablefilterundo.c +++ b/app/core/gimpdrawablefilterundo.c @@ -265,7 +265,7 @@ gimp_drawable_filter_undo_pop (GimpUndo *undo, { gimp_container_reorder (filter_stack, GIMP_OBJECT (filter), df_undo->row_index); - gimp_drawable_filter_apply (filter, NULL); + gimp_drawable_update (drawable, 0, 0, -1, -1); } else if (undo->undo_type == GIMP_UNDO_FILTER_MODIFIED) { diff --git a/app/widgets/gimpdrawabletreeview-filters.c b/app/widgets/gimpdrawabletreeview-filters.c index 66bb12eba6..17b31a199d 100644 --- a/app/widgets/gimpdrawabletreeview-filters.c +++ b/app/widgets/gimpdrawabletreeview-filters.c @@ -576,12 +576,12 @@ gimp_drawable_filters_editor_view_visible_cell_toggled (GtkCellRendererToggle *t if (gtk_tree_model_get_iter (view->model, &iter, path)) { - GimpViewRenderer *renderer; GimpContainerTreeStore *store; + GimpViewRenderer *renderer; GimpDrawableFilter *filter; - /* Update the filter state. */ store = GIMP_CONTAINER_TREE_STORE (view->model); + renderer = gimp_container_tree_store_get_renderer (store, &iter); filter = GIMP_DRAWABLE_FILTER (renderer->viewable); g_object_unref (renderer); @@ -589,14 +589,16 @@ gimp_drawable_filters_editor_view_visible_cell_toggled (GtkCellRendererToggle *t if (GIMP_IS_DRAWABLE_FILTER (filter)) { GimpDrawable *drawable; - gboolean visible; + gboolean active; + + g_object_get (toggle, + "active", &active, + NULL); drawable = gimp_drawable_filter_get_drawable (filter); + gimp_filter_set_active (GIMP_FILTER (filter), ! active); - visible = gimp_filter_get_active (GIMP_FILTER (filter)); - gimp_filter_set_active (GIMP_FILTER (filter), ! visible); - - gimp_drawable_update_bounding_box (drawable); + gimp_drawable_update (drawable, 0, 0, -1, -1); gimp_image_flush (gimp_item_get_image (GIMP_ITEM (drawable))); } } @@ -671,7 +673,7 @@ gimp_drawable_filters_editor_visible_all_toggled (GtkWidget *widget, } } - gimp_drawable_update_bounding_box (editor->drawable); + gimp_drawable_update (editor->drawable, 0, 0, -1, -1); gimp_image_flush (gimp_item_get_image (GIMP_ITEM (editor->drawable))); }