diff --git a/ChangeLog b/ChangeLog index 34d85ba6c6..30a3442b6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2008-11-05 Michael Natterer + + * app/core/gimpdrawablestack.[ch]: add new function + gimp_drawable_stack_invalidate_previews() which does just what it + says. + + * app/core/gimpimage.[ch]: merge invalidate_layer_previews() and + invalidate_channels_previews() into a single invalidate_previews() + and replace all calls to the old functions by calls to + gimp_drawable_stack_invalidate_previews(). + + * app/file/file-open.c: changed accordingly. + 2008-11-05 Michael Natterer * app/core/gimpimage-convert.c (gimp_image_convert): remove call diff --git a/app/core/gimpdrawablestack.c b/app/core/gimpdrawablestack.c index 6550b8841e..236cbda632 100644 --- a/app/core/gimpdrawablestack.c +++ b/app/core/gimpdrawablestack.c @@ -281,6 +281,16 @@ gimp_drawable_stack_get_graph (GimpDrawableStack *stack) return stack->graph; } +void +gimp_drawable_stack_invalidate_previews (GimpDrawableStack *stack) +{ + g_return_if_fail (GIMP_IS_DRAWABLE_STACK (stack)); + + gimp_container_foreach (GIMP_CONTAINER (stack), + (GFunc) gimp_viewable_invalidate_preview, + NULL); +} + /* private functions */ diff --git a/app/core/gimpdrawablestack.h b/app/core/gimpdrawablestack.h index a617d2372e..e4cd2f80b7 100644 --- a/app/core/gimpdrawablestack.h +++ b/app/core/gimpdrawablestack.h @@ -53,10 +53,12 @@ struct _GimpDrawableStackClass }; -GType gimp_drawable_stack_get_type (void) G_GNUC_CONST; -GimpContainer * gimp_drawable_stack_new (GType drawable_type); +GType gimp_drawable_stack_get_type (void) G_GNUC_CONST; +GimpContainer * gimp_drawable_stack_new (GType drawable_type); -GeglNode * gimp_drawable_stack_get_graph (GimpDrawableStack *stack); +GeglNode * gimp_drawable_stack_get_graph (GimpDrawableStack *stack); + +void gimp_drawable_stack_invalidate_previews (GimpDrawableStack *stack); #endif /* __GIMP_DRAWABLE_STACK_H__ */ diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c index 7620ddfc56..7f78bff6ef 100644 --- a/app/core/gimpimage.c +++ b/app/core/gimpimage.c @@ -736,11 +736,11 @@ gimp_image_constructor (GType type, image); g_signal_connect_object (config, "notify::transparency-type", - G_CALLBACK (gimp_image_invalidate_layer_previews), - image, G_CONNECT_SWAPPED); + G_CALLBACK (gimp_drawable_stack_invalidate_previews), + image->layers, G_CONNECT_SWAPPED); g_signal_connect_object (config, "notify::transparency-size", - G_CALLBACK (gimp_image_invalidate_layer_previews), - image, G_CONNECT_SWAPPED); + G_CALLBACK (gimp_drawable_stack_invalidate_previews), + image->layers, G_CONNECT_SWAPPED); g_signal_connect_object (config, "notify::layer-previews", G_CALLBACK (gimp_viewable_size_changed), image, G_CONNECT_SWAPPED); @@ -1136,7 +1136,7 @@ gimp_image_real_colormap_changed (GimpImage *image, gimp_image_get_width (image), gimp_image_get_height (image)); - gimp_image_invalidate_layer_previews (image); + gimp_drawable_stack_invalidate_previews (GIMP_DRAWABLE_STACK (image->layers)); } } @@ -3799,21 +3799,10 @@ gimp_image_coords_in_active_pickable (GimpImage *image, } void -gimp_image_invalidate_layer_previews (GimpImage *image) +gimp_image_invalidate_previews (GimpImage *image) { g_return_if_fail (GIMP_IS_IMAGE (image)); - gimp_container_foreach (image->layers, - (GFunc) gimp_viewable_invalidate_preview, - NULL); -} - -void -gimp_image_invalidate_channel_previews (GimpImage *image) -{ - g_return_if_fail (GIMP_IS_IMAGE (image)); - - gimp_container_foreach (image->channels, - (GFunc) gimp_viewable_invalidate_preview, - NULL); + gimp_drawable_stack_invalidate_previews (GIMP_DRAWABLE_STACK (image->layers)); + gimp_drawable_stack_invalidate_previews (GIMP_DRAWABLE_STACK (image->channels)); } diff --git a/app/core/gimpimage.h b/app/core/gimpimage.h index 9c7a56c121..1c1233ebea 100644 --- a/app/core/gimpimage.h +++ b/app/core/gimpimage.h @@ -551,8 +551,7 @@ gboolean gimp_image_coords_in_active_pickable (GimpImage *image, gboolean sample_merged, gboolean selected_only); -void gimp_image_invalidate_layer_previews (GimpImage *image); -void gimp_image_invalidate_channel_previews (GimpImage *image); +void gimp_image_invalidate_previews (GimpImage *image); #endif /* __GIMP_IMAGE_H__ */ diff --git a/app/file/file-open.c b/app/file/file-open.c index 63b9a89711..ac6a5e8ef7 100644 --- a/app/file/file-open.c +++ b/app/file/file-open.c @@ -552,8 +552,7 @@ file_open_sanitize_image (GimpImage *image, gimp_image_flush (image); /* same for drawable previews */ - gimp_image_invalidate_layer_previews (image); - gimp_image_invalidate_channel_previews (image); + gimp_image_invalidate_previews (image); } /* Converts items from one image to another */