From a3bb0b0dada337ce32b4055c27f68553f9da01d3 Mon Sep 17 00:00:00 2001 From: Michael Natterer Date: Wed, 8 May 2002 17:48:24 +0000 Subject: [PATCH] Started to get rid of the gdisplays_foo() functions in 2002-05-08 Michael Natterer Started to get rid of the gdisplays_foo() functions in app/display/gimpdisplay-foreach.[ch]. Work in progress... * app/core/gimp.[ch]: added the display list to the Gimp object (as a GimpList of GimpObjects). This way we get more independent from whether there is GUI or not, as gimp->displays will simply be an empty list for the --no-interface case. * app/display/gimpdisplay.[ch]: Removed the global "display_list" and "display_num" variables. Use gimp->displays instead. * app/display/gimpdisplay-foreach.[ch]: renamed most functions from gdisplays_foo() to gimp_displays_foo() and pass them a Gimp pointer. * app/core/gimpimage.[ch]: added a "flush" signal. * app/display/gimpdisplay-handlers.c: connect to "flush" and call gimp_display_flush() in the callback. * tools/pdbgen/pdb/display.pdb: use gimp_displays_flush(gimp) here and only here. * app/pdb/display_cmds.c: regenerated. * app/app_procs.c * app/gui/gui.c * app/gui/preferences-dialog.c: s/gdislays_foo()/gimp_displays_foo(gimp)/ * app/image_map.c * app/undo_history.c * app/display/gimpdisplayshell-callbacks.c * app/display/gimpdisplayshell-dnd.c * app/display/gimpdisplayshell-layer-select.c * app/display/gimpdisplayshell-scale.c * app/gui/channels-commands.c * app/gui/colormap-editor-commands.c * app/gui/convert-dialog.c * app/gui/drawable-commands.c * app/gui/edit-commands.c * app/gui/file-commands.c * app/gui/image-commands.c * app/gui/layers-commands.c * app/gui/offset-dialog.c * app/gui/qmask-commands.c * app/gui/select-commands.c * app/gui/vectors-commands.c * app/paint/gimpairbrush.c * app/tools/gimpbezierselecttool.c * app/tools/gimpblendtool.c * app/tools/gimpbrightnesscontrasttool.c * app/tools/gimpbucketfilltool.c * app/tools/gimpbycolorselecttool.c * app/tools/gimpcolorbalancetool.c * app/tools/gimpcurvestool.c * app/tools/gimpeditselectiontool.c * app/tools/gimpfreeselecttool.c * app/tools/gimpfuzzyselecttool.c * app/tools/gimphuesaturationtool.c * app/tools/gimpinktool.c * app/tools/gimpiscissorstool.c * app/tools/gimplevelstool.c * app/tools/gimpmeasuretool.c * app/tools/gimpmovetool.c * app/tools/gimppainttool.c * app/tools/gimpposterizetool.c * app/tools/gimprectselecttool.c * app/tools/gimptexttool.c * app/tools/gimpthresholdtool.c * app/tools/gimptransformtool.c * app/tools/gimpvectortool.c * app/widgets/gimpbufferview.c * app/widgets/gimpchannellistview.c * app/widgets/gimpcomponentlistitem.c * app/widgets/gimpdocumentview.c * app/widgets/gimpdrawablelistitem.c * app/widgets/gimpdrawablelistview.c * app/widgets/gimpimageview.c * app/widgets/gimpitemlistitem.c * app/widgets/gimpitemlistview.c * app/widgets/gimplayerlistitem.c * app/widgets/gimplayerlistview.c * app/widgets/gimpvectorslistview.c: replaced gdisplays_flush() with calls to gimp_image_flush(gimage). Removed inclusion of "display/gimpdisplay-foreach.h" from most files. --- ChangeLog | 89 ++++++++++++++++++++ app/actions/channels-commands.c | 18 ++-- app/actions/colormap-commands.c | 4 +- app/actions/colormap-editor-commands.c | 4 +- app/actions/drawable-commands.c | 8 +- app/actions/edit-commands.c | 27 +++--- app/actions/file-commands.c | 2 +- app/actions/image-commands.c | 9 +- app/actions/layers-commands.c | 51 ++++++------ app/actions/qmask-commands.c | 7 +- app/actions/quick-mask-commands.c | 7 +- app/actions/select-commands.c | 21 +++-- app/actions/vectors-commands.c | 20 ++--- app/app_procs.c | 2 +- app/base/color-balance.c | 6 +- app/base/curves.c | 6 +- app/base/hue-saturation.c | 6 +- app/base/threshold.c | 6 +- app/core/gimp.c | 22 ++++- app/core/gimp.h | 3 + app/core/gimpimage.c | 21 +++++ app/core/gimpimage.h | 7 ++ app/core/gimpimagemap.c | 3 +- app/core/gimpprojection.c | 22 +++-- app/core/gimpprojection.h | 3 - app/dialogs/convert-dialog.c | 8 +- app/dialogs/offset-dialog.c | 4 +- app/dialogs/preferences-dialog.c | 4 +- app/display/gimpdisplay-foreach.c | 92 +++++++++++++-------- app/display/gimpdisplay-foreach.h | 16 ++-- app/display/gimpdisplay-handlers.c | 15 ++++ app/display/gimpdisplay.c | 22 +++-- app/display/gimpdisplay.h | 3 - app/display/gimpdisplayshell-callbacks.c | 3 +- app/display/gimpdisplayshell-dnd.c | 7 +- app/display/gimpdisplayshell-layer-select.c | 3 +- app/display/gimpdisplayshell-scale.c | 3 +- app/gui/channels-commands.c | 18 ++-- app/gui/colormap-editor-commands.c | 4 +- app/gui/convert-dialog.c | 8 +- app/gui/drawable-commands.c | 8 +- app/gui/edit-commands.c | 27 +++--- app/gui/file-commands.c | 2 +- app/gui/gui.c | 6 +- app/gui/image-commands.c | 9 +- app/gui/layers-commands.c | 51 ++++++------ app/gui/offset-dialog.c | 4 +- app/gui/preferences-dialog.c | 4 +- app/gui/qmask-commands.c | 7 +- app/gui/select-commands.c | 21 +++-- app/gui/vectors-commands.c | 20 ++--- app/image_map.c | 3 +- app/paint/gimpairbrush.c | 5 +- app/paint/gimpink.c | 3 +- app/pdb/display_cmds.c | 2 +- app/tools/gimpbezierselecttool.c | 5 +- app/tools/gimpblendtool.c | 3 +- app/tools/gimpbrightnesscontrasttool.c | 6 +- app/tools/gimpbrushtool.c | 3 +- app/tools/gimpbucketfilltool.c | 3 +- app/tools/gimpbycolorselecttool.c | 13 ++- app/tools/gimpcolorbalancetool.c | 6 +- app/tools/gimpcurvestool.c | 6 +- app/tools/gimpeditselectiontool.c | 5 +- app/tools/gimpfreeselecttool.c | 5 +- app/tools/gimpfuzzyselecttool.c | 5 +- app/tools/gimphuesaturationtool.c | 6 +- app/tools/gimpinktool.c | 3 +- app/tools/gimpiscissorstool.c | 3 +- app/tools/gimplevelstool.c | 6 +- app/tools/gimpmeasuretool.c | 3 +- app/tools/gimpmovetool.c | 4 +- app/tools/gimppainttool.c | 3 +- app/tools/gimpposterizetool.c | 6 +- app/tools/gimprectselecttool.c | 5 +- app/tools/gimpregionselecttool.c | 5 +- app/tools/gimptexttool.c | 3 +- app/tools/gimpthresholdtool.c | 6 +- app/tools/gimptransformtool.c | 2 +- app/tools/gimpvectortool.c | 7 +- app/undo_history.c | 18 ++-- app/widgets/gimpbufferview.c | 9 +- app/widgets/gimpchannellistview.c | 14 ++-- app/widgets/gimpchanneltreeview.c | 14 ++-- app/widgets/gimpcomponentlistitem.c | 7 +- app/widgets/gimpdocumentview.c | 6 +- app/widgets/gimpdrawablelistitem.c | 8 +- app/widgets/gimpdrawablelistview.c | 5 -- app/widgets/gimpdrawabletreeview.c | 5 -- app/widgets/gimpimageview.c | 6 -- app/widgets/gimpitemlistitem.c | 10 +-- app/widgets/gimpitemlistview.c | 19 ++--- app/widgets/gimpitemtreeview.c | 19 ++--- app/widgets/gimplayerlistitem.c | 7 +- app/widgets/gimplayerlistview.c | 11 +-- app/widgets/gimplayertreeview.c | 11 +-- app/widgets/gimpvectorslistview.c | 13 ++- app/widgets/gimpvectorstreeview.c | 13 ++- tools/pdbgen/pdb/display.pdb | 2 +- 99 files changed, 550 insertions(+), 525 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9abff54d49..31bdd30904 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,92 @@ +2002-05-08 Michael Natterer + + Started to get rid of the gdisplays_foo() functions in + app/display/gimpdisplay-foreach.[ch]. Work in progress... + + * app/core/gimp.[ch]: added the display list to the Gimp object + (as a GimpList of GimpObjects). This way we get more independent + from whether there is GUI or not, as gimp->displays will simply + be an empty list for the --no-interface case. + + * app/display/gimpdisplay.[ch]: Removed the global "display_list" + and "display_num" variables. Use gimp->displays instead. + + * app/display/gimpdisplay-foreach.[ch]: renamed most functions + from gdisplays_foo() to gimp_displays_foo() and pass them a Gimp + pointer. + + * app/core/gimpimage.[ch]: added a "flush" signal. + + * app/display/gimpdisplay-handlers.c: connect to "flush" and call + gimp_display_flush() in the callback. + + * tools/pdbgen/pdb/display.pdb: use gimp_displays_flush(gimp) + here and only here. + + * app/pdb/display_cmds.c: regenerated. + + * app/app_procs.c + * app/gui/gui.c + * app/gui/preferences-dialog.c: + s/gdislays_foo()/gimp_displays_foo(gimp)/ + + * app/image_map.c + * app/undo_history.c + * app/display/gimpdisplayshell-callbacks.c + * app/display/gimpdisplayshell-dnd.c + * app/display/gimpdisplayshell-layer-select.c + * app/display/gimpdisplayshell-scale.c + * app/gui/channels-commands.c + * app/gui/colormap-editor-commands.c + * app/gui/convert-dialog.c + * app/gui/drawable-commands.c + * app/gui/edit-commands.c + * app/gui/file-commands.c + * app/gui/image-commands.c + * app/gui/layers-commands.c + * app/gui/offset-dialog.c + * app/gui/qmask-commands.c + * app/gui/select-commands.c + * app/gui/vectors-commands.c + * app/paint/gimpairbrush.c + * app/tools/gimpbezierselecttool.c + * app/tools/gimpblendtool.c + * app/tools/gimpbrightnesscontrasttool.c + * app/tools/gimpbucketfilltool.c + * app/tools/gimpbycolorselecttool.c + * app/tools/gimpcolorbalancetool.c + * app/tools/gimpcurvestool.c + * app/tools/gimpeditselectiontool.c + * app/tools/gimpfreeselecttool.c + * app/tools/gimpfuzzyselecttool.c + * app/tools/gimphuesaturationtool.c + * app/tools/gimpinktool.c + * app/tools/gimpiscissorstool.c + * app/tools/gimplevelstool.c + * app/tools/gimpmeasuretool.c + * app/tools/gimpmovetool.c + * app/tools/gimppainttool.c + * app/tools/gimpposterizetool.c + * app/tools/gimprectselecttool.c + * app/tools/gimptexttool.c + * app/tools/gimpthresholdtool.c + * app/tools/gimptransformtool.c + * app/tools/gimpvectortool.c + * app/widgets/gimpbufferview.c + * app/widgets/gimpchannellistview.c + * app/widgets/gimpcomponentlistitem.c + * app/widgets/gimpdocumentview.c + * app/widgets/gimpdrawablelistitem.c + * app/widgets/gimpdrawablelistview.c + * app/widgets/gimpimageview.c + * app/widgets/gimpitemlistitem.c + * app/widgets/gimpitemlistview.c + * app/widgets/gimplayerlistitem.c + * app/widgets/gimplayerlistview.c + * app/widgets/gimpvectorslistview.c: replaced gdisplays_flush() + with calls to gimp_image_flush(gimage). Removed inclusion of + "display/gimpdisplay-foreach.h" from most files. + 2002-05-08 Sven Neumann * plug-ins/print/gimp_color_window.c diff --git a/app/actions/channels-commands.c b/app/actions/channels-commands.c index 39ccbb6fd4..53d98cec9d 100644 --- a/app/actions/channels-commands.c +++ b/app/actions/channels-commands.c @@ -35,8 +35,6 @@ #include "core/gimpimage-mask-select.h" #include "core/gimplist.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpcolorpanel.h" #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -91,7 +89,7 @@ channels_raise_channel_cmd_callback (GtkWidget *widget, return_if_no_channel (gimage, active_channel); gimp_image_raise_channel (gimage, active_channel); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -103,7 +101,7 @@ channels_lower_channel_cmd_callback (GtkWidget *widget, return_if_no_channel (gimage, active_channel); gimp_image_lower_channel (gimage, active_channel); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -119,7 +117,7 @@ channels_duplicate_channel_cmd_callback (GtkWidget *widget, G_TYPE_FROM_INSTANCE (active_channel), TRUE); gimp_image_add_channel (gimage, new_channel, -1); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -131,7 +129,7 @@ channels_delete_channel_cmd_callback (GtkWidget *widget, return_if_no_channel (gimage, active_channel); gimp_image_remove_channel (gimage, active_channel); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -148,7 +146,7 @@ channels_channel_to_sel (GtkWidget *widget, 0, 0, op, FALSE, 0, 0); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -237,7 +235,7 @@ new_channel_query_ok_callback (GtkWidget *widget, GIMP_TRANSPARENT_FILL); gimp_image_add_channel (gimage, new_channel, -1); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->query_box); @@ -281,7 +279,7 @@ channels_new_channel_query (GimpImage *gimage, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); return; } @@ -413,7 +411,7 @@ edit_channel_query_ok_callback (GtkWidget *widget, { gimp_channel_set_color (channel, &color); - gdisplays_flush (); + gimp_image_flush (options->gimage); } } diff --git a/app/actions/colormap-commands.c b/app/actions/colormap-commands.c index e2cbf5da15..32592b1747 100644 --- a/app/actions/colormap-commands.c +++ b/app/actions/colormap-commands.c @@ -30,8 +30,6 @@ #include "core/gimp.h" #include "core/gimpimage.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpcolormapeditor.h" #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -171,7 +169,7 @@ colormap_editor_color_notebook_callback (ColorNotebook *color_notebook, &gimage->cmap[editor->col_index * 3 + 2]); gimp_image_colormap_changed (gimage, editor->col_index); - gdisplays_flush (); + gimp_image_flush (gimage); /* Fall through */ case COLOR_NOTEBOOK_CANCEL: color_notebook_hide (editor->color_notebook); diff --git a/app/actions/colormap-editor-commands.c b/app/actions/colormap-editor-commands.c index e2cbf5da15..32592b1747 100644 --- a/app/actions/colormap-editor-commands.c +++ b/app/actions/colormap-editor-commands.c @@ -30,8 +30,6 @@ #include "core/gimp.h" #include "core/gimpimage.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpcolormapeditor.h" #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -171,7 +169,7 @@ colormap_editor_color_notebook_callback (ColorNotebook *color_notebook, &gimage->cmap[editor->col_index * 3 + 2]); gimp_image_colormap_changed (gimage, editor->col_index); - gdisplays_flush (); + gimp_image_flush (gimage); /* Fall through */ case COLOR_NOTEBOOK_CANCEL: color_notebook_hide (editor->color_notebook); diff --git a/app/actions/drawable-commands.c b/app/actions/drawable-commands.c index 19ad9fc359..513bb8477f 100644 --- a/app/actions/drawable-commands.c +++ b/app/actions/drawable-commands.c @@ -34,8 +34,6 @@ #include "core/gimpdrawable-invert.h" #include "core/gimpimage.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -76,7 +74,7 @@ drawable_desaturate_cmd_callback (GtkWidget *widget, } gimp_drawable_desaturate (active_drawable); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -94,7 +92,7 @@ drawable_invert_cmd_callback (GtkWidget *widget, } gimp_drawable_invert (active_drawable); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -112,7 +110,7 @@ drawable_equalize_cmd_callback (GtkWidget *widget, } gimp_drawable_equalize (active_drawable, TRUE); - gdisplays_flush (); + gimp_image_flush (gimage); } void diff --git a/app/actions/edit-commands.c b/app/actions/edit-commands.c index 4ccb77da09..7f37fe8e8a 100644 --- a/app/actions/edit-commands.c +++ b/app/actions/edit-commands.c @@ -36,7 +36,6 @@ #include "core/gimpimage-mask.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "tools/tool_manager.h" @@ -81,9 +80,7 @@ edit_undo_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); if (undo_pop (gimage)) - { - gdisplays_flush (); - } + gimp_image_flush (gimage); } void @@ -94,9 +91,7 @@ edit_redo_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); if (undo_redo (gimage)) - { - gdisplays_flush (); - } + gimp_image_flush (gimage); } void @@ -112,7 +107,7 @@ edit_cut_cmd_callback (GtkWidget *widget, if (gimp_edit_cut (gdisp->gimage, gimp_image_active_drawable (gdisp->gimage))) { - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } } @@ -125,7 +120,7 @@ edit_copy_cmd_callback (GtkWidget *widget, if (gimp_edit_copy (gimage, gimp_image_active_drawable (gimage))) { - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -146,7 +141,7 @@ edit_paste_cmd_callback (GtkWidget *widget, gdisp->gimage->gimp->global_buffer, FALSE)) { - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } } } @@ -168,7 +163,7 @@ edit_paste_into_cmd_callback (GtkWidget *widget, gdisp->gimage->gimp->global_buffer, TRUE)) { - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } } } @@ -245,7 +240,7 @@ edit_clear_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_edit_clear (gimage, gimp_image_active_drawable (gimage)); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -262,8 +257,7 @@ edit_fill_cmd_callback (GtkWidget *widget, gimp_edit_fill (gimage, gimp_image_active_drawable (gimage), fill_type); - - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -276,8 +270,7 @@ edit_stroke_cmd_callback (GtkWidget *widget, gimp_image_mask_stroke (gimage, gimp_image_active_drawable (gimage), gimp_get_current_context (gimage->gimp)); - - gdisplays_flush (); + gimp_image_flush (gimage); } @@ -309,7 +302,7 @@ cut_named_buffer_callback (GtkWidget *widget, GIMP_OBJECT (new_buffer)); } - gdisplays_flush (); + gimp_image_flush (gimage); } static void diff --git a/app/actions/file-commands.c b/app/actions/file-commands.c index 0ebcba56ca..a079b4b3cd 100644 --- a/app/actions/file-commands.c +++ b/app/actions/file-commands.c @@ -310,7 +310,7 @@ file_revert_confirm_callback (GtkWidget *widget, gimp_image_clean_all (new_gimage); - gdisplays_flush (); + gimp_image_flush (new_gimage); } else if (status != GIMP_PDB_CANCEL) { diff --git a/app/actions/image-commands.c b/app/actions/image-commands.c index a762079ec9..99568a0c86 100644 --- a/app/actions/image-commands.c +++ b/app/actions/image-commands.c @@ -35,7 +35,6 @@ #include "core/gimpimage-scale.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpprogress.h" #include "convert-dialog.h" @@ -234,7 +233,7 @@ image_flatten_image_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_flatten (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } /****************************/ /* The layer merge dialog */ @@ -264,7 +263,7 @@ image_layers_merge_query_ok_callback (GtkWidget *widget, if (options->merge_visible) gimp_image_merge_visible_layers (gimage, options->merge_type); - gdisplays_flush (); + gimp_image_flush (gimage); gtk_widget_destroy (options->query_box); } @@ -358,7 +357,7 @@ image_resize_callback (GtkWidget *widget, image_resize->resize->height, image_resize->resize->offset_x, image_resize->resize->offset_y); - gdisplays_flush (); + gimp_image_flush (image_resize->gimage); } else { @@ -506,6 +505,6 @@ image_scale_implement (ImageResize *image_scale) if (display_flush) { undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } } diff --git a/app/actions/layers-commands.c b/app/actions/layers-commands.c index 08b719b323..80dad0b1f9 100644 --- a/app/actions/layers-commands.c +++ b/app/actions/layers-commands.c @@ -40,8 +40,6 @@ #include "pdb/procedural_db.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -98,7 +96,7 @@ layers_previous_cmd_callback (GtkWidget *widget, if (new_layer) { gimp_image_set_active_layer (gimage, new_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } } } @@ -122,7 +120,7 @@ layers_next_cmd_callback (GtkWidget *widget, if (new_layer) { gimp_image_set_active_layer (gimage, new_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -135,7 +133,7 @@ layers_raise_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage,active_layer); gimp_image_raise_layer (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -147,7 +145,7 @@ layers_lower_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage,active_layer); gimp_image_lower_layer (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -159,7 +157,7 @@ layers_raise_to_top_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage,active_layer); gimp_image_raise_layer_to_top (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -171,7 +169,7 @@ layers_lower_to_bottom_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage, active_layer); gimp_image_lower_layer_to_bottom (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -198,7 +196,7 @@ layers_duplicate_cmd_callback (GtkWidget *widget, TRUE); gimp_image_add_layer (gimage, new_layer, -1); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -221,7 +219,7 @@ layers_merge_down_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage, active_layer); gimp_image_merge_down (gimage, active_layer, GIMP_EXPAND_AS_NECESSARY); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -237,7 +235,7 @@ layers_delete_cmd_callback (GtkWidget *widget, else gimp_image_remove_layer (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -260,7 +258,7 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage, active_layer); gimp_layer_resize_to_image (active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -307,7 +305,7 @@ layers_crop_cmd_callback (GtkWidget *widget, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -338,7 +336,7 @@ layers_apply_layer_mask_cmd_callback (GtkWidget *widget, gimp_layer_apply_mask (active_layer, GIMP_MASK_APPLY, TRUE); if (flush) - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -359,7 +357,7 @@ layers_delete_layer_mask_cmd_callback (GtkWidget *widget, gimp_layer_apply_mask (active_layer, GIMP_MASK_DISCARD, TRUE); if (flush) - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -374,7 +372,7 @@ layers_mask_select_cmd_callback (GtkWidget *widget, if (gimp_layer_get_mask (active_layer)) { gimp_image_mask_layer_mask (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -387,7 +385,7 @@ layers_alpha_select_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage, active_layer); gimp_image_mask_layer_alpha (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -401,7 +399,7 @@ layers_add_alpha_channel_cmd_callback (GtkWidget *widget, if (! gimp_drawable_has_alpha (GIMP_DRAWABLE (active_layer))) { gimp_layer_add_alpha (active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -437,7 +435,7 @@ layers_anchor_layer (GimpLayer *layer) if (gimp_layer_is_floating_sel (layer)) { floating_sel_anchor (layer); - gdisplays_flush (); + gimp_image_flush (gimp_item_get_image (GIMP_ITEM (layer))); } } @@ -500,7 +498,7 @@ new_layer_query_ok_callback (GtkWidget *widget, fill_type); gimp_image_add_layer (gimage, layer, -1); - gdisplays_flush (); + gimp_image_flush (gimage); } else { @@ -534,8 +532,7 @@ layers_new_layer_query (GimpImage *gimage, if ((floating_sel = gimp_image_floating_sel (gimage))) { floating_sel_to_layer (floating_sel); - - gdisplays_flush (); + gimp_image_flush (gimage); return; } @@ -567,7 +564,7 @@ layers_new_layer_query (GimpImage *gimage, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); return; } @@ -749,7 +746,7 @@ edit_layer_query_ok_callback (GtkWidget *widget, } } - gdisplays_flush (); + gimp_image_flush (options->gimage); gtk_widget_destroy (options->query_box); } @@ -852,7 +849,7 @@ add_mask_query_ok_callback (GtkWidget *widget, { mask = gimp_layer_create_mask (layer, options->add_mask_type); gimp_layer_add_mask (layer, mask, TRUE); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->query_box); @@ -1007,7 +1004,7 @@ scale_layer_query_ok_callback (GtkWidget *widget, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->resize->resize_shell); @@ -1099,7 +1096,7 @@ resize_layer_query_ok_callback (GtkWidget *widget, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->resize->resize_shell); diff --git a/app/actions/qmask-commands.c b/app/actions/qmask-commands.c index ea0bf2541d..ec75b35532 100644 --- a/app/actions/qmask-commands.c +++ b/app/actions/qmask-commands.c @@ -34,7 +34,6 @@ #include "widgets/gimpwidgets-utils.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "qmask-commands.h" @@ -84,7 +83,7 @@ qmask_toggle_cmd_callback (GtkWidget *widget, gimp_image_set_qmask_state (shell->gdisp->gimage, GTK_CHECK_MENU_ITEM (widget)->active); - gdisplays_flush (); + gimp_image_flush (shell->gdisp->gimage); } void @@ -104,7 +103,7 @@ qmask_invert_cmd_callback (GtkWidget *widget, gimp_image_qmask_invert (shell->gdisp->gimage); if (shell->gdisp->gimage->qmask_state) - gdisplays_flush (); + gimp_image_flush (shell->gdisp->gimage); } } @@ -255,7 +254,7 @@ qmask_query_ok_callback (GtkWidget *widget, { gimp_channel_set_color (channel, &color); - gdisplays_flush (); + gimp_image_flush (options->gimage); } } diff --git a/app/actions/quick-mask-commands.c b/app/actions/quick-mask-commands.c index ea0bf2541d..ec75b35532 100644 --- a/app/actions/quick-mask-commands.c +++ b/app/actions/quick-mask-commands.c @@ -34,7 +34,6 @@ #include "widgets/gimpwidgets-utils.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "qmask-commands.h" @@ -84,7 +83,7 @@ qmask_toggle_cmd_callback (GtkWidget *widget, gimp_image_set_qmask_state (shell->gdisp->gimage, GTK_CHECK_MENU_ITEM (widget)->active); - gdisplays_flush (); + gimp_image_flush (shell->gdisp->gimage); } void @@ -104,7 +103,7 @@ qmask_invert_cmd_callback (GtkWidget *widget, gimp_image_qmask_invert (shell->gdisp->gimage); if (shell->gdisp->gimage->qmask_state) - gdisplays_flush (); + gimp_image_flush (shell->gdisp->gimage); } } @@ -255,7 +254,7 @@ qmask_query_ok_callback (GtkWidget *widget, { gimp_channel_set_color (channel, &color); - gdisplays_flush (); + gimp_image_flush (options->gimage); } } diff --git a/app/actions/select-commands.c b/app/actions/select-commands.c index 6c1b0ff9d3..3f2b5ac70f 100644 --- a/app/actions/select-commands.c +++ b/app/actions/select-commands.c @@ -31,7 +31,6 @@ #include "core/gimpimage-mask.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "libgimp/gimpintl.h" @@ -84,7 +83,7 @@ select_invert_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_invert (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -95,7 +94,7 @@ select_all_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_all (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -106,7 +105,7 @@ select_none_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_none (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -117,7 +116,7 @@ select_float_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_float (gimage, gimp_image_active_drawable (gimage), 0, 0); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -150,7 +149,7 @@ select_sharpen_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_sharpen (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -240,7 +239,7 @@ select_save_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_save (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } @@ -276,7 +275,7 @@ gimp_image_mask_feather_callback (GtkWidget *widget, } gimp_image_mask_feather (gimage, radius_x, radius_y); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -309,7 +308,7 @@ gimp_image_mask_border_callback (GtkWidget *widget, } gimp_image_mask_border (gimage, radius_x, radius_y); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -342,7 +341,7 @@ gimp_image_mask_grow_callback (GtkWidget *widget, } gimp_image_mask_grow (gimage, radius_x, radius_y); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -380,5 +379,5 @@ gimp_image_mask_shrink_callback (GtkWidget *widget, gimp_image_mask_shrink (gimage, radius_x, radius_y, selection_shrink_edge_lock); - gdisplays_flush (); + gimp_image_flush (gimage); } diff --git a/app/actions/vectors-commands.c b/app/actions/vectors-commands.c index ac2abbc3b9..93b613a5db 100644 --- a/app/actions/vectors-commands.c +++ b/app/actions/vectors-commands.c @@ -41,8 +41,6 @@ #include "vectors/gimpvectors.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -92,7 +90,7 @@ vectors_raise_vectors_cmd_callback (GtkWidget *widget, return_if_no_vectors (gimage, active_vectors); gimp_image_raise_vectors (gimage, active_vectors); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -104,7 +102,7 @@ vectors_lower_vectors_cmd_callback (GtkWidget *widget, return_if_no_vectors (gimage, active_vectors); gimp_image_lower_vectors (gimage, active_vectors); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -122,7 +120,7 @@ vectors_duplicate_vectors_cmd_callback (GtkWidget *widget, G_TYPE_FROM_INSTANCE (active_vectors), TRUE); gimp_image_add_vectors (gimage, new_vectors, -1); - gdisplays_flush (); + gimp_image_flush (gimage); #endif } @@ -135,7 +133,7 @@ vectors_delete_vectors_cmd_callback (GtkWidget *widget, return_if_no_vectors (gimage, active_vectors); gimp_image_remove_vectors (gimage, active_vectors); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -152,7 +150,7 @@ vectors_vectors_to_sel (GtkWidget *widget, op, TRUE, FALSE, 0, 0); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -324,7 +322,7 @@ vectors_stroke_vectors (GimpVectors *vectors) g_object_unref (G_OBJECT (core)); - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -396,7 +394,7 @@ new_vectors_query_ok_callback (GtkWidget *widget, gimp_object_set_name (GIMP_OBJECT (new_vectors), vectors_name); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->query_box); @@ -427,13 +425,13 @@ vectors_new_vectors_query (GimpImage *gimage, /* undo_push_group_end (gimage); */ - gdisplays_flush (); + gimp_image_flush (gimage); return; } /* the new options structure */ options = g_new (NewVectorsOptions, 1); - options->gimage = gimage; + options->gimage = gimage; /* The dialog */ options->query_box = diff --git a/app/app_procs.c b/app/app_procs.c index 099ae3357f..86eba1888e 100644 --- a/app/app_procs.c +++ b/app/app_procs.c @@ -219,7 +219,7 @@ void app_exit (gboolean kill_it) { /* If it's the user's perogative, and there are dirty images */ - if (! kill_it && gdisplays_dirty () && ! no_interface) + if (! kill_it && gimp_displays_dirty (the_gimp) && ! no_interface) gui_really_quit_dialog (G_CALLBACK (app_exit_finish)); else app_exit_finish (); diff --git a/app/base/color-balance.c b/app/base/color-balance.c index defa024b2c..065dd5cb95 100644 --- a/app/base/color-balance.c +++ b/app/base/color-balance.c @@ -32,7 +32,6 @@ #include "core/gimpimage.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "widgets/gimpenummenu.h" @@ -617,7 +616,7 @@ color_balance_cancel_callback (GtkWidget *widget, image_map_abort (cbd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); cbd->image_map = NULL; } @@ -677,7 +676,8 @@ color_balance_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (cbd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/base/curves.c b/app/base/curves.c index 7ae90db49c..5b1a08d145 100644 --- a/app/base/curves.c +++ b/app/base/curves.c @@ -45,7 +45,6 @@ #include "widgets/gimpenummenu.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpcurvestool.h" #include "tool_manager.h" @@ -1414,7 +1413,7 @@ curves_cancel_callback (GtkWidget *widget, image_map_abort (cd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); cd->image_map = NULL; } @@ -1476,7 +1475,8 @@ curves_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (cd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/base/hue-saturation.c b/app/base/hue-saturation.c index 0ac305b6d0..4e9bca1f4a 100644 --- a/app/base/hue-saturation.c +++ b/app/base/hue-saturation.c @@ -38,7 +38,6 @@ #include "core/gimpimage-mask.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimphuesaturationtool.h" #include "tool_manager.h" @@ -789,7 +788,7 @@ hue_saturation_cancel_callback (GtkWidget *widget, image_map_abort (hsd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); hsd->image_map = NULL; } @@ -837,7 +836,8 @@ hue_saturation_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (hsd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/base/threshold.c b/app/base/threshold.c index f452a22929..7b06403102 100644 --- a/app/base/threshold.c +++ b/app/base/threshold.c @@ -36,7 +36,6 @@ #include "widgets/gimphistogramview.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpthresholdtool.h" #include "tool_manager.h" @@ -533,7 +532,7 @@ threshold_cancel_callback (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, FALSE); td->image_map = NULL; - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); } active_tool->gdisp = NULL; @@ -564,7 +563,8 @@ threshold_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (td->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/core/gimp.c b/app/core/gimp.c index e9c3621749..c4d10736cb 100644 --- a/app/core/gimp.c +++ b/app/core/gimp.c @@ -156,6 +156,12 @@ gimp_init (Gimp *gimp) gimp->next_item_ID = 1; gimp->item_table = g_hash_table_new (g_direct_hash, NULL); + gimp->displays = gimp_list_new (GIMP_TYPE_OBJECT, + GIMP_CONTAINER_POLICY_WEAK); + gimp_object_set_name (GIMP_OBJECT (gimp->displays), "displays"); + + gimp->next_display_ID = 1; + gimp->global_buffer = NULL; gimp->named_buffers = gimp_list_new (GIMP_TYPE_BUFFER, GIMP_CONTAINER_POLICY_STRONG); @@ -302,6 +308,12 @@ gimp_finalize (GObject *object) gimp->global_buffer = NULL; } + if (gimp->displays) + { + g_object_unref (gimp->displays); + gimp->displays = NULL; + } + if (gimp->item_table) { g_hash_table_destroy (gimp->item_table); @@ -352,6 +364,8 @@ gimp_get_memsize (GimpObject *object) memsize += (g_hash_table_size (gimp->item_table) * 3 * sizeof (gpointer)); /* FIXME */ + memsize += gimp_object_get_memsize (GIMP_OBJECT (gimp->displays)); + if (gimp->global_buffer) memsize += gimp_object_get_memsize (GIMP_OBJECT (gimp->global_buffer)); @@ -711,15 +725,19 @@ gimp_create_display (Gimp *gimp, GimpImage *gimage, guint scale) { + GimpObject *display = NULL; + g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL); g_return_val_if_fail (GIMP_IS_IMAGE (gimage), NULL); if (gimp->gui_create_display_func) { - return gimp->gui_create_display_func (gimage, scale); + display = gimp->gui_create_display_func (gimage, scale); + + gimp_container_add (gimp->displays, display); } - return NULL; + return display; } GimpContext * diff --git a/app/core/gimp.h b/app/core/gimp.h index f9874a5649..d76cc93d60 100644 --- a/app/core/gimp.h +++ b/app/core/gimp.h @@ -84,6 +84,9 @@ struct _Gimp gint next_item_ID; GHashTable *item_table; + GimpContainer *displays; + gint next_display_ID; + GimpBuffer *global_buffer; GimpContainer *named_buffers; diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c index 0e848ab2e5..12b7cc0bcb 100644 --- a/app/core/gimpimage.c +++ b/app/core/gimpimage.c @@ -90,6 +90,7 @@ enum UPDATE_GUIDE, COLORMAP_CHANGED, UNDO_EVENT, + FLUSH, LAST_SIGNAL }; @@ -364,6 +365,15 @@ gimp_image_class_init (GimpImageClass *klass) G_TYPE_NONE, 1, G_TYPE_INT); + gimp_image_signals[FLUSH] = + g_signal_new ("flush", + G_TYPE_FROM_CLASS (klass), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (GimpImageClass, flush), + NULL, NULL, + gimp_marshal_VOID__VOID, + G_TYPE_NONE, 0); + object_class->dispose = gimp_image_dispose; object_class->finalize = gimp_image_finalize; @@ -1614,6 +1624,17 @@ gimp_image_clean_all (GimpImage *gimage) } +/* flush this image's displays */ + +void +gimp_image_flush (GimpImage *gimage) +{ + g_return_if_fail (GIMP_IS_IMAGE (gimage)); + + g_signal_emit (G_OBJECT (gimage), gimp_image_signals[FLUSH], 0); +} + + /* color transforms / utilities */ diff --git a/app/core/gimpimage.h b/app/core/gimpimage.h index 47f734d7e3..5b23d50980 100644 --- a/app/core/gimpimage.h +++ b/app/core/gimpimage.h @@ -205,6 +205,8 @@ struct _GimpImageClass void (* undo) (GimpImage *gimage); void (* redo) (GimpImage *gimage); + + void (* flush) (GimpImage *gimage); }; @@ -308,6 +310,11 @@ gint gimp_image_clean (GimpImage *gimage); void gimp_image_clean_all (GimpImage *gimage); +/* flush this image's displays */ + +void gimp_image_flush (GimpImage *gimage); + + /* color transforms / utilities */ void gimp_image_get_foreground (const GimpImage *gimage, diff --git a/app/core/gimpimagemap.c b/app/core/gimpimagemap.c index 2ab024c8c9..49b66ce2d9 100644 --- a/app/core/gimpimagemap.c +++ b/app/core/gimpimagemap.c @@ -32,7 +32,6 @@ #include "core/gimpimage.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "image_map.h" @@ -434,7 +433,7 @@ image_map_do (gpointer data) if (image_map->PRI == NULL) { image_map->state = IMAGE_MAP_WAITING; - gdisplays_flush (); + gimp_image_flush (image_map->gdisp->gimage); return FALSE; } diff --git a/app/core/gimpprojection.c b/app/core/gimpprojection.c index 0f05d445ad..a18dffc62f 100644 --- a/app/core/gimpprojection.c +++ b/app/core/gimpprojection.c @@ -25,10 +25,12 @@ #include "tools/tools-types.h" #include "core/gimp.h" +#include "core/gimpcontainer.h" #include "core/gimpcontext.h" #include "core/gimpdrawable.h" #include "core/gimpimage.h" #include "core/gimpimage-projection.h" +#include "core/gimplist.h" #include "libgimptool/gimptool.h" @@ -66,9 +68,6 @@ static void gimp_display_paint_area (GimpDisplay *gdisp, static GimpObjectClass *parent_class = NULL; -GSList *display_list = NULL; -static gint display_num = 1; - GType gimp_display_get_type (void) @@ -113,7 +112,7 @@ gimp_display_class_init (GimpDisplayClass *klass) static void gimp_display_init (GimpDisplay *gdisp) { - gdisp->ID = display_num++; + gdisp->ID = 0; gdisp->gimage = NULL; gdisp->instance = 0; @@ -157,8 +156,7 @@ gimp_display_new (GimpImage *gimage, gdisp = g_object_new (GIMP_TYPE_DISPLAY, NULL); - /* add the new display to the list so that it isn't lost */ - display_list = g_slist_append (display_list, gdisp); + gdisp->ID = gimage->gimp->next_display_ID; /* refs the image */ gimp_display_connect (gdisp, gimage); @@ -182,7 +180,8 @@ gimp_display_delete (GimpDisplay *gdisp) g_return_if_fail (GIMP_IS_DISPLAY (gdisp)); /* remove the display from the list */ - display_list = g_slist_remove (display_list, gdisp); + gimp_container_remove (gdisp->gimage->gimp->displays, + GIMP_OBJECT (gdisp)); /* stop any active tool */ tool_manager_control_active (gdisp->gimage->gimp, HALT, gdisp); @@ -234,14 +233,13 @@ gimp_display_get_by_ID (Gimp *gimp, gint ID) { GimpDisplay *gdisp; - GSList *list; + GList *list; g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL); - /* Traverse the list of displays, returning the one that matches the ID - * If no display in the list is a match, return NULL. - */ - for (list = display_list; list; list = g_slist_next (list)) + for (list = GIMP_LIST (gimp->displays)->list; + list; + list = g_list_next (list)) { gdisp = (GimpDisplay *) list->data; diff --git a/app/core/gimpprojection.h b/app/core/gimpprojection.h index ad368b8f88..60e0b381c3 100644 --- a/app/core/gimpprojection.h +++ b/app/core/gimpprojection.h @@ -68,9 +68,6 @@ struct _IdleRenderStruct }; -extern GSList *display_list; /* EEK */ - - #define GIMP_TYPE_DISPLAY (gimp_display_get_type ()) #define GIMP_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_DISPLAY, GimpDisplay)) #define GIMP_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_DISPLAY, GimpDisplayClass)) diff --git a/app/dialogs/convert-dialog.c b/app/dialogs/convert-dialog.c index 591e85dade..ef940486d4 100644 --- a/app/dialogs/convert-dialog.c +++ b/app/dialogs/convert-dialog.c @@ -31,8 +31,6 @@ #include "core/gimplist.h" #include "core/gimppalette.h" -#include "display/gimpdisplay-foreach.h" - #include "libgimptool/gimptool.h" #include "tools/tool_manager.h" @@ -86,14 +84,14 @@ void convert_to_rgb (GimpImage *gimage) { gimp_image_convert (gimage, GIMP_RGB, 0, 0, 0, 0, 0, NULL); - gdisplays_flush (); + gimp_image_flush (gimage); } void convert_to_grayscale (GimpImage* gimage) { gimp_image_convert (gimage, GIMP_GRAY, 0, 0, 0, 0, 0, NULL); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -451,7 +449,7 @@ indexed_ok_callback (GtkWidget *widget, dialog->remove_dups, dialog->palette_type, theCustomPalette); - gdisplays_flush (); + gimp_image_flush (dialog->gimage); /* Save defaults for next time */ sdither_type = dialog->dither_type; diff --git a/app/dialogs/offset-dialog.c b/app/dialogs/offset-dialog.c index 5bcfe0f88e..48747b064a 100644 --- a/app/dialogs/offset-dialog.c +++ b/app/dialogs/offset-dialog.c @@ -32,8 +32,6 @@ #include "core/gimplayermask.h" #include "core/gimpimage.h" -#include "display/gimpdisplay-foreach.h" - #include "offset-dialog.h" #include "libgimp/gimpintl.h" @@ -251,7 +249,7 @@ offset_ok_callback (GtkWidget *widget, gimp_drawable_offset (drawable, off_d->wrap_around, off_d->fill_type, offset_x, offset_y); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (off_d->dlg); diff --git a/app/dialogs/preferences-dialog.c b/app/dialogs/preferences-dialog.c index 7e761db94c..b45e3f1ca4 100644 --- a/app/dialogs/preferences-dialog.c +++ b/app/dialogs/preferences-dialog.c @@ -957,7 +957,7 @@ prefs_cancel_callback (GtkWidget *widget, NULL); gdisplays_expose_full (); - gdisplays_flush (); + gimp_displays_flush (gimp); } prefs_strset (&gimprc.image_title_format, old_image_title_format); @@ -1060,7 +1060,7 @@ prefs_toggle_callback (GtkWidget *widget, (GFunc) gimp_image_invalidate_layer_previews, NULL); gdisplays_expose_full (); - gdisplays_flush (); + gimp_displays_flush (gimp); } /* no matching varible found */ else diff --git a/app/display/gimpdisplay-foreach.c b/app/display/gimpdisplay-foreach.c index cb0a83bedd..45043c948c 100644 --- a/app/display/gimpdisplay-foreach.c +++ b/app/display/gimpdisplay-foreach.c @@ -22,27 +22,26 @@ #include "display-types.h" +#include "core/gimp.h" #include "core/gimpimage.h" +#include "core/gimplist.h" #include "gimpdisplay.h" #include "gimpdisplay-foreach.h" #include "gimpdisplayshell.h" +#include "app_procs.h" -void -gdisplays_foreach (GFunc func, - gpointer user_data) -{ - g_slist_foreach (display_list, func, user_data); -} void gdisplays_expose_full (void) { GimpDisplay *gdisp; - GSList *list; + GList *list; - for (list = display_list; list; list = g_slist_next (list)) + for (list = GIMP_LIST (the_gimp->displays)->list; + list; + list = g_list_next (list)) { gdisp = (GimpDisplay *) list->data; @@ -51,31 +50,36 @@ gdisplays_expose_full (void) } gboolean -gdisplays_dirty (void) +gimp_displays_dirty (Gimp *gimp) { - gboolean dirty = FALSE; - GSList *list; + GList *list; - for (list = display_list; list; list = g_slist_next (list)) + g_return_val_if_fail (GIMP_IS_GIMP (gimp), FALSE); + + for (list = GIMP_LIST (the_gimp->displays)->list; + list; + list = g_list_next (list)) { if (((GimpDisplay *) list->data)->gimage->dirty != 0) - dirty = TRUE; + return TRUE; } - return dirty; + return FALSE; } void -gdisplays_delete (void) +gimp_displays_delete (Gimp *gimp) { GimpDisplay *gdisp; + g_return_if_fail (GIMP_IS_GIMP (gimp)); + /* this removes the GimpDisplay from the list, so do a while loop * "around" the first element to get them all */ - while (display_list) + while (GIMP_LIST (gimp->displays)->list) { - gdisp = (GimpDisplay *) display_list->data; + gdisp = (GimpDisplay *) GIMP_LIST (gimp->displays)->list->data; gimp_display_delete (gdisp); } @@ -92,9 +96,11 @@ gdisplays_check_valid (GimpDisplay *gtest, GimpDisplay *gdisp; GimpDisplay *gdisp_found = NULL; - GSList *list; + GList *list; - for (list = display_list; list; list = g_slist_next (list)) + for (list = GIMP_LIST (the_gimp->displays)->list; + list; + list = g_list_next (list)) { gdisp = (GimpDisplay *) list->data; @@ -109,13 +115,15 @@ gdisplays_check_valid (GimpDisplay *gtest, } void -gdisplays_flush (void) +gimp_displays_flush (Gimp *gimp) { static gboolean flushing = FALSE; - GSList *list; + GList *list; GimpDisplay *gdisp; + g_return_if_fail (GIMP_IS_GIMP (gimp)); + /* this prevents multiple recursive calls to this procedure */ if (flushing == TRUE) { @@ -125,9 +133,11 @@ gdisplays_flush (void) flushing = TRUE; - for (list = display_list; list; list = g_slist_next (list)) + for (list = GIMP_LIST (gimp->displays)->list; + list; + list = g_list_next (list)) { - gdisp = list->data; + gdisp = (GimpDisplay *) list->data; gimp_display_flush (gdisp); } @@ -137,12 +147,16 @@ gdisplays_flush (void) /* Force all gdisplays to finish their idlerender projection */ void -gdisplays_finish_draw (void) +gimp_displays_finish_draw (Gimp *gimp) { - GSList *list; + GList *list; GimpDisplay *gdisp; - for (list = display_list; list; list = g_slist_next (list)) + g_return_if_fail (GIMP_IS_GIMP (gimp)); + + for (list = GIMP_LIST (gimp->displays)->list; + list; + list = g_list_next (list)) { gdisp = (GimpDisplay *) list->data; @@ -154,13 +168,15 @@ void gdisplays_reconnect (GimpImage *old, GimpImage *new) { - GSList *list; + GList *list; GimpDisplay *gdisp; g_return_if_fail (old != NULL); g_return_if_fail (GIMP_IS_IMAGE (new)); - for (list = display_list; list; list = g_slist_next (list)) + for (list = GIMP_LIST (new->gimp->displays)->list; + list; + list = g_list_next (list)) { gdisp = list->data; @@ -170,12 +186,16 @@ gdisplays_reconnect (GimpImage *old, } void -gdisplays_set_busy (void) +gimp_displays_set_busy (Gimp *gimp) { - GSList *list; + GList *list; GimpDisplayShell *shell; - for (list = display_list; list; list = g_slist_next (list)) + g_return_if_fail (GIMP_IS_GIMP (gimp)); + + for (list = GIMP_LIST (gimp->displays)->list; + list; + list = g_list_next (list)) { shell = GIMP_DISPLAY_SHELL (GIMP_DISPLAY (list->data)->shell); @@ -184,12 +204,16 @@ gdisplays_set_busy (void) } void -gdisplays_unset_busy (void) +gimp_displays_unset_busy (Gimp *gimp) { - GSList *list; + GList *list; GimpDisplayShell *shell; - for (list = display_list; list; list = g_slist_next (list)) + g_return_if_fail (GIMP_IS_GIMP (gimp)); + + for (list = GIMP_LIST (gimp->displays)->list; + list; + list = g_list_next (list)) { shell = GIMP_DISPLAY_SHELL (GIMP_DISPLAY (list->data)->shell); diff --git a/app/display/gimpdisplay-foreach.h b/app/display/gimpdisplay-foreach.h index 4cb7d2b3d1..728fe70f16 100644 --- a/app/display/gimpdisplay-foreach.h +++ b/app/display/gimpdisplay-foreach.h @@ -20,19 +20,19 @@ #define __GIMP_DISPLAY_FOREACH_H__ -void gdisplays_foreach (GFunc func, - gpointer user_data); GimpDisplay * gdisplays_check_valid (GimpDisplay *gdisp, GimpImage *gimage); void gdisplays_reconnect (GimpImage *old, GimpImage *new); void gdisplays_expose_full (void); -gboolean gdisplays_dirty (void); -void gdisplays_delete (void); -void gdisplays_flush (void); -void gdisplays_finish_draw (void); -void gdisplays_set_busy (void); -void gdisplays_unset_busy (void); + +gboolean gimp_displays_dirty (Gimp *gimp); +void gimp_displays_delete (Gimp *gimp); +void gimp_displays_flush (Gimp *gimp); +void gimp_displays_finish_draw (Gimp *gimp); + +void gimp_displays_set_busy (Gimp *gimp); +void gimp_displays_unset_busy (Gimp *gimp); #endif /* __GIMP_DISPLAY_FOREACH_H__ */ diff --git a/app/display/gimpdisplay-handlers.c b/app/display/gimpdisplay-handlers.c index 307ec91062..ee277b4427 100644 --- a/app/display/gimpdisplay-handlers.c +++ b/app/display/gimpdisplay-handlers.c @@ -43,6 +43,8 @@ static void gimp_display_colormap_changed_handler (GimpImage *gimage, GimpDisplay *gdisp); static void gimp_display_size_changed_handler (GimpImage *gimage, GimpDisplay *gdisp); +static void gimp_display_flush_handler (GimpImage *gimage, + GimpDisplay *gdisp); /* public functions */ @@ -78,6 +80,9 @@ gimp_display_connect (GimpDisplay *gdisp, g_signal_connect (G_OBJECT (gimage), "size_changed", G_CALLBACK (gimp_display_size_changed_handler), gdisp); + g_signal_connect (G_OBJECT (gimage), "flush", + G_CALLBACK (gimp_display_flush_handler), + gdisp); } void @@ -86,6 +91,9 @@ gimp_display_disconnect (GimpDisplay *gdisp) g_return_if_fail (GIMP_IS_DISPLAY (gdisp)); g_return_if_fail (GIMP_IS_IMAGE (gdisp->gimage)); + g_signal_handlers_disconnect_by_func (G_OBJECT (gdisp->gimage), + gimp_display_flush_handler, + gdisp); g_signal_handlers_disconnect_by_func (G_OBJECT (gdisp->gimage), gimp_display_size_changed_handler, gdisp); @@ -155,3 +163,10 @@ gimp_display_size_changed_handler (GimpImage *gimage, gdisp->gimage->width, gdisp->gimage->height); } + +static void +gimp_display_flush_handler (GimpImage *gimage, + GimpDisplay *gdisp) +{ + gimp_display_flush (gdisp); +} diff --git a/app/display/gimpdisplay.c b/app/display/gimpdisplay.c index 0f05d445ad..a18dffc62f 100644 --- a/app/display/gimpdisplay.c +++ b/app/display/gimpdisplay.c @@ -25,10 +25,12 @@ #include "tools/tools-types.h" #include "core/gimp.h" +#include "core/gimpcontainer.h" #include "core/gimpcontext.h" #include "core/gimpdrawable.h" #include "core/gimpimage.h" #include "core/gimpimage-projection.h" +#include "core/gimplist.h" #include "libgimptool/gimptool.h" @@ -66,9 +68,6 @@ static void gimp_display_paint_area (GimpDisplay *gdisp, static GimpObjectClass *parent_class = NULL; -GSList *display_list = NULL; -static gint display_num = 1; - GType gimp_display_get_type (void) @@ -113,7 +112,7 @@ gimp_display_class_init (GimpDisplayClass *klass) static void gimp_display_init (GimpDisplay *gdisp) { - gdisp->ID = display_num++; + gdisp->ID = 0; gdisp->gimage = NULL; gdisp->instance = 0; @@ -157,8 +156,7 @@ gimp_display_new (GimpImage *gimage, gdisp = g_object_new (GIMP_TYPE_DISPLAY, NULL); - /* add the new display to the list so that it isn't lost */ - display_list = g_slist_append (display_list, gdisp); + gdisp->ID = gimage->gimp->next_display_ID; /* refs the image */ gimp_display_connect (gdisp, gimage); @@ -182,7 +180,8 @@ gimp_display_delete (GimpDisplay *gdisp) g_return_if_fail (GIMP_IS_DISPLAY (gdisp)); /* remove the display from the list */ - display_list = g_slist_remove (display_list, gdisp); + gimp_container_remove (gdisp->gimage->gimp->displays, + GIMP_OBJECT (gdisp)); /* stop any active tool */ tool_manager_control_active (gdisp->gimage->gimp, HALT, gdisp); @@ -234,14 +233,13 @@ gimp_display_get_by_ID (Gimp *gimp, gint ID) { GimpDisplay *gdisp; - GSList *list; + GList *list; g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL); - /* Traverse the list of displays, returning the one that matches the ID - * If no display in the list is a match, return NULL. - */ - for (list = display_list; list; list = g_slist_next (list)) + for (list = GIMP_LIST (gimp->displays)->list; + list; + list = g_list_next (list)) { gdisp = (GimpDisplay *) list->data; diff --git a/app/display/gimpdisplay.h b/app/display/gimpdisplay.h index ad368b8f88..60e0b381c3 100644 --- a/app/display/gimpdisplay.h +++ b/app/display/gimpdisplay.h @@ -68,9 +68,6 @@ struct _IdleRenderStruct }; -extern GSList *display_list; /* EEK */ - - #define GIMP_TYPE_DISPLAY (gimp_display_get_type ()) #define GIMP_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_DISPLAY, GimpDisplay)) #define GIMP_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_DISPLAY, GimpDisplayClass)) diff --git a/app/display/gimpdisplayshell-callbacks.c b/app/display/gimpdisplayshell-callbacks.c index 22c7732c74..447e09d3ca 100644 --- a/app/display/gimpdisplayshell-callbacks.c +++ b/app/display/gimpdisplayshell-callbacks.c @@ -50,7 +50,6 @@ #include "gui/dialogs.h" #include "gimpdisplay.h" -#include "gimpdisplay-foreach.h" #include "gimpdisplayshell.h" #include "gimpdisplayshell-callbacks.h" #include "gimpdisplayshell-layer-select.h" @@ -1231,7 +1230,7 @@ gimp_display_shell_qmask_toggled (GtkWidget *widget, gimp_image_set_qmask_state (shell->gdisp->gimage, GTK_TOGGLE_BUTTON (widget)->active); - gdisplays_flush (); + gimp_image_flush (shell->gdisp->gimage); } gboolean diff --git a/app/display/gimpdisplayshell-dnd.c b/app/display/gimpdisplayshell-dnd.c index 2c3d35ef8a..ea43d2eb29 100644 --- a/app/display/gimpdisplayshell-dnd.c +++ b/app/display/gimpdisplayshell-dnd.c @@ -37,7 +37,6 @@ #include "gimpdisplay.h" #include "gimpdisplayshell.h" #include "gimpdisplayshell-dnd.h" -#include "gimpdisplay-foreach.h" #include "undo.h" @@ -74,7 +73,7 @@ gimp_display_shell_drop_drawable (GtkWidget *widget, undo_push_group_end (gdisp->gimage); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); gimp_context_set_display (gimp_get_user_context (gdisp->gimage->gimp), gdisp); } @@ -119,7 +118,7 @@ gimp_display_shell_bucket_fill (GimpImage *gimage, FALSE /* no seed fill */, FALSE, 0.0, FALSE, 0.0, 0.0 /* fill params */); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -177,5 +176,5 @@ gimp_display_shell_drop_buffer (GtkWidget *widget, buffer, FALSE); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } diff --git a/app/display/gimpdisplayshell-layer-select.c b/app/display/gimpdisplayshell-layer-select.c index 1af10e9374..a761ef2871 100644 --- a/app/display/gimpdisplayshell-layer-select.c +++ b/app/display/gimpdisplayshell-layer-select.c @@ -29,7 +29,6 @@ #include "widgets/gimppreview.h" -#include "gimpdisplay-foreach.h" #include "gimpdisplayshell-layer-select.h" #include "gimprc.h" @@ -211,7 +210,7 @@ layer_select_end (LayerSelect *layer_select, { gimp_image_set_active_layer (layer_select->gimage, layer_select->current_layer); - gdisplays_flush (); + gimp_image_flush (layer_select->gimage); } } diff --git a/app/display/gimpdisplayshell-scale.c b/app/display/gimpdisplayshell-scale.c index 057157ae58..9a0ea3ff9d 100644 --- a/app/display/gimpdisplayshell-scale.c +++ b/app/display/gimpdisplayshell-scale.c @@ -33,7 +33,6 @@ #include "tools/tool_manager.h" #include "gimpdisplay.h" -#include "gimpdisplay-foreach.h" #include "gimpdisplayshell.h" #include "gimpdisplayshell-scale.h" #include "gimpdisplayshell-scroll.h" @@ -423,7 +422,7 @@ gimp_display_shell_scale_resize (GimpDisplayShell *shell, /* title may have changed if it includes the zoom ratio */ shell->title_dirty = TRUE; - gdisplays_flush (); + gimp_display_shell_flush (shell); } /* re-enable the active tool */ diff --git a/app/gui/channels-commands.c b/app/gui/channels-commands.c index 39ccbb6fd4..53d98cec9d 100644 --- a/app/gui/channels-commands.c +++ b/app/gui/channels-commands.c @@ -35,8 +35,6 @@ #include "core/gimpimage-mask-select.h" #include "core/gimplist.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpcolorpanel.h" #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -91,7 +89,7 @@ channels_raise_channel_cmd_callback (GtkWidget *widget, return_if_no_channel (gimage, active_channel); gimp_image_raise_channel (gimage, active_channel); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -103,7 +101,7 @@ channels_lower_channel_cmd_callback (GtkWidget *widget, return_if_no_channel (gimage, active_channel); gimp_image_lower_channel (gimage, active_channel); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -119,7 +117,7 @@ channels_duplicate_channel_cmd_callback (GtkWidget *widget, G_TYPE_FROM_INSTANCE (active_channel), TRUE); gimp_image_add_channel (gimage, new_channel, -1); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -131,7 +129,7 @@ channels_delete_channel_cmd_callback (GtkWidget *widget, return_if_no_channel (gimage, active_channel); gimp_image_remove_channel (gimage, active_channel); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -148,7 +146,7 @@ channels_channel_to_sel (GtkWidget *widget, 0, 0, op, FALSE, 0, 0); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -237,7 +235,7 @@ new_channel_query_ok_callback (GtkWidget *widget, GIMP_TRANSPARENT_FILL); gimp_image_add_channel (gimage, new_channel, -1); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->query_box); @@ -281,7 +279,7 @@ channels_new_channel_query (GimpImage *gimage, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); return; } @@ -413,7 +411,7 @@ edit_channel_query_ok_callback (GtkWidget *widget, { gimp_channel_set_color (channel, &color); - gdisplays_flush (); + gimp_image_flush (options->gimage); } } diff --git a/app/gui/colormap-editor-commands.c b/app/gui/colormap-editor-commands.c index e2cbf5da15..32592b1747 100644 --- a/app/gui/colormap-editor-commands.c +++ b/app/gui/colormap-editor-commands.c @@ -30,8 +30,6 @@ #include "core/gimp.h" #include "core/gimpimage.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpcolormapeditor.h" #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -171,7 +169,7 @@ colormap_editor_color_notebook_callback (ColorNotebook *color_notebook, &gimage->cmap[editor->col_index * 3 + 2]); gimp_image_colormap_changed (gimage, editor->col_index); - gdisplays_flush (); + gimp_image_flush (gimage); /* Fall through */ case COLOR_NOTEBOOK_CANCEL: color_notebook_hide (editor->color_notebook); diff --git a/app/gui/convert-dialog.c b/app/gui/convert-dialog.c index 591e85dade..ef940486d4 100644 --- a/app/gui/convert-dialog.c +++ b/app/gui/convert-dialog.c @@ -31,8 +31,6 @@ #include "core/gimplist.h" #include "core/gimppalette.h" -#include "display/gimpdisplay-foreach.h" - #include "libgimptool/gimptool.h" #include "tools/tool_manager.h" @@ -86,14 +84,14 @@ void convert_to_rgb (GimpImage *gimage) { gimp_image_convert (gimage, GIMP_RGB, 0, 0, 0, 0, 0, NULL); - gdisplays_flush (); + gimp_image_flush (gimage); } void convert_to_grayscale (GimpImage* gimage) { gimp_image_convert (gimage, GIMP_GRAY, 0, 0, 0, 0, 0, NULL); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -451,7 +449,7 @@ indexed_ok_callback (GtkWidget *widget, dialog->remove_dups, dialog->palette_type, theCustomPalette); - gdisplays_flush (); + gimp_image_flush (dialog->gimage); /* Save defaults for next time */ sdither_type = dialog->dither_type; diff --git a/app/gui/drawable-commands.c b/app/gui/drawable-commands.c index 19ad9fc359..513bb8477f 100644 --- a/app/gui/drawable-commands.c +++ b/app/gui/drawable-commands.c @@ -34,8 +34,6 @@ #include "core/gimpdrawable-invert.h" #include "core/gimpimage.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -76,7 +74,7 @@ drawable_desaturate_cmd_callback (GtkWidget *widget, } gimp_drawable_desaturate (active_drawable); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -94,7 +92,7 @@ drawable_invert_cmd_callback (GtkWidget *widget, } gimp_drawable_invert (active_drawable); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -112,7 +110,7 @@ drawable_equalize_cmd_callback (GtkWidget *widget, } gimp_drawable_equalize (active_drawable, TRUE); - gdisplays_flush (); + gimp_image_flush (gimage); } void diff --git a/app/gui/edit-commands.c b/app/gui/edit-commands.c index 4ccb77da09..7f37fe8e8a 100644 --- a/app/gui/edit-commands.c +++ b/app/gui/edit-commands.c @@ -36,7 +36,6 @@ #include "core/gimpimage-mask.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "tools/tool_manager.h" @@ -81,9 +80,7 @@ edit_undo_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); if (undo_pop (gimage)) - { - gdisplays_flush (); - } + gimp_image_flush (gimage); } void @@ -94,9 +91,7 @@ edit_redo_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); if (undo_redo (gimage)) - { - gdisplays_flush (); - } + gimp_image_flush (gimage); } void @@ -112,7 +107,7 @@ edit_cut_cmd_callback (GtkWidget *widget, if (gimp_edit_cut (gdisp->gimage, gimp_image_active_drawable (gdisp->gimage))) { - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } } @@ -125,7 +120,7 @@ edit_copy_cmd_callback (GtkWidget *widget, if (gimp_edit_copy (gimage, gimp_image_active_drawable (gimage))) { - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -146,7 +141,7 @@ edit_paste_cmd_callback (GtkWidget *widget, gdisp->gimage->gimp->global_buffer, FALSE)) { - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } } } @@ -168,7 +163,7 @@ edit_paste_into_cmd_callback (GtkWidget *widget, gdisp->gimage->gimp->global_buffer, TRUE)) { - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } } } @@ -245,7 +240,7 @@ edit_clear_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_edit_clear (gimage, gimp_image_active_drawable (gimage)); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -262,8 +257,7 @@ edit_fill_cmd_callback (GtkWidget *widget, gimp_edit_fill (gimage, gimp_image_active_drawable (gimage), fill_type); - - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -276,8 +270,7 @@ edit_stroke_cmd_callback (GtkWidget *widget, gimp_image_mask_stroke (gimage, gimp_image_active_drawable (gimage), gimp_get_current_context (gimage->gimp)); - - gdisplays_flush (); + gimp_image_flush (gimage); } @@ -309,7 +302,7 @@ cut_named_buffer_callback (GtkWidget *widget, GIMP_OBJECT (new_buffer)); } - gdisplays_flush (); + gimp_image_flush (gimage); } static void diff --git a/app/gui/file-commands.c b/app/gui/file-commands.c index 0ebcba56ca..a079b4b3cd 100644 --- a/app/gui/file-commands.c +++ b/app/gui/file-commands.c @@ -310,7 +310,7 @@ file_revert_confirm_callback (GtkWidget *widget, gimp_image_clean_all (new_gimage); - gdisplays_flush (); + gimp_image_flush (new_gimage); } else if (status != GIMP_PDB_CANCEL) { diff --git a/app/gui/gui.c b/app/gui/gui.c index e40ca78baf..fdd4c130a9 100644 --- a/app/gui/gui.c +++ b/app/gui/gui.c @@ -283,7 +283,7 @@ gui_shutdown (Gimp *gimp) if (gimprc.save_device_status) gimp_devices_save (gimp); - gdisplays_delete (); + gimp_displays_delete (gimp); } void @@ -384,7 +384,7 @@ gui_main_quit (Gimp *gimp) static void gui_set_busy (Gimp *gimp) { - gdisplays_set_busy (); + gimp_displays_set_busy (gimp); gimp_dialog_factories_idle (); gdk_flush (); @@ -393,7 +393,7 @@ gui_set_busy (Gimp *gimp) static void gui_unset_busy (Gimp *gimp) { - gdisplays_unset_busy (); + gimp_displays_unset_busy (gimp); gimp_dialog_factories_unidle (); gdk_flush (); diff --git a/app/gui/image-commands.c b/app/gui/image-commands.c index a762079ec9..99568a0c86 100644 --- a/app/gui/image-commands.c +++ b/app/gui/image-commands.c @@ -35,7 +35,6 @@ #include "core/gimpimage-scale.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpprogress.h" #include "convert-dialog.h" @@ -234,7 +233,7 @@ image_flatten_image_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_flatten (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } /****************************/ /* The layer merge dialog */ @@ -264,7 +263,7 @@ image_layers_merge_query_ok_callback (GtkWidget *widget, if (options->merge_visible) gimp_image_merge_visible_layers (gimage, options->merge_type); - gdisplays_flush (); + gimp_image_flush (gimage); gtk_widget_destroy (options->query_box); } @@ -358,7 +357,7 @@ image_resize_callback (GtkWidget *widget, image_resize->resize->height, image_resize->resize->offset_x, image_resize->resize->offset_y); - gdisplays_flush (); + gimp_image_flush (image_resize->gimage); } else { @@ -506,6 +505,6 @@ image_scale_implement (ImageResize *image_scale) if (display_flush) { undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } } diff --git a/app/gui/layers-commands.c b/app/gui/layers-commands.c index 08b719b323..80dad0b1f9 100644 --- a/app/gui/layers-commands.c +++ b/app/gui/layers-commands.c @@ -40,8 +40,6 @@ #include "pdb/procedural_db.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -98,7 +96,7 @@ layers_previous_cmd_callback (GtkWidget *widget, if (new_layer) { gimp_image_set_active_layer (gimage, new_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } } } @@ -122,7 +120,7 @@ layers_next_cmd_callback (GtkWidget *widget, if (new_layer) { gimp_image_set_active_layer (gimage, new_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -135,7 +133,7 @@ layers_raise_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage,active_layer); gimp_image_raise_layer (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -147,7 +145,7 @@ layers_lower_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage,active_layer); gimp_image_lower_layer (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -159,7 +157,7 @@ layers_raise_to_top_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage,active_layer); gimp_image_raise_layer_to_top (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -171,7 +169,7 @@ layers_lower_to_bottom_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage, active_layer); gimp_image_lower_layer_to_bottom (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -198,7 +196,7 @@ layers_duplicate_cmd_callback (GtkWidget *widget, TRUE); gimp_image_add_layer (gimage, new_layer, -1); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -221,7 +219,7 @@ layers_merge_down_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage, active_layer); gimp_image_merge_down (gimage, active_layer, GIMP_EXPAND_AS_NECESSARY); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -237,7 +235,7 @@ layers_delete_cmd_callback (GtkWidget *widget, else gimp_image_remove_layer (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -260,7 +258,7 @@ layers_resize_to_image_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage, active_layer); gimp_layer_resize_to_image (active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -307,7 +305,7 @@ layers_crop_cmd_callback (GtkWidget *widget, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -338,7 +336,7 @@ layers_apply_layer_mask_cmd_callback (GtkWidget *widget, gimp_layer_apply_mask (active_layer, GIMP_MASK_APPLY, TRUE); if (flush) - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -359,7 +357,7 @@ layers_delete_layer_mask_cmd_callback (GtkWidget *widget, gimp_layer_apply_mask (active_layer, GIMP_MASK_DISCARD, TRUE); if (flush) - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -374,7 +372,7 @@ layers_mask_select_cmd_callback (GtkWidget *widget, if (gimp_layer_get_mask (active_layer)) { gimp_image_mask_layer_mask (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -387,7 +385,7 @@ layers_alpha_select_cmd_callback (GtkWidget *widget, return_if_no_layer (gimage, active_layer); gimp_image_mask_layer_alpha (gimage, active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -401,7 +399,7 @@ layers_add_alpha_channel_cmd_callback (GtkWidget *widget, if (! gimp_drawable_has_alpha (GIMP_DRAWABLE (active_layer))) { gimp_layer_add_alpha (active_layer); - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -437,7 +435,7 @@ layers_anchor_layer (GimpLayer *layer) if (gimp_layer_is_floating_sel (layer)) { floating_sel_anchor (layer); - gdisplays_flush (); + gimp_image_flush (gimp_item_get_image (GIMP_ITEM (layer))); } } @@ -500,7 +498,7 @@ new_layer_query_ok_callback (GtkWidget *widget, fill_type); gimp_image_add_layer (gimage, layer, -1); - gdisplays_flush (); + gimp_image_flush (gimage); } else { @@ -534,8 +532,7 @@ layers_new_layer_query (GimpImage *gimage, if ((floating_sel = gimp_image_floating_sel (gimage))) { floating_sel_to_layer (floating_sel); - - gdisplays_flush (); + gimp_image_flush (gimage); return; } @@ -567,7 +564,7 @@ layers_new_layer_query (GimpImage *gimage, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); return; } @@ -749,7 +746,7 @@ edit_layer_query_ok_callback (GtkWidget *widget, } } - gdisplays_flush (); + gimp_image_flush (options->gimage); gtk_widget_destroy (options->query_box); } @@ -852,7 +849,7 @@ add_mask_query_ok_callback (GtkWidget *widget, { mask = gimp_layer_create_mask (layer, options->add_mask_type); gimp_layer_add_mask (layer, mask, TRUE); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->query_box); @@ -1007,7 +1004,7 @@ scale_layer_query_ok_callback (GtkWidget *widget, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->resize->resize_shell); @@ -1099,7 +1096,7 @@ resize_layer_query_ok_callback (GtkWidget *widget, undo_push_group_end (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->resize->resize_shell); diff --git a/app/gui/offset-dialog.c b/app/gui/offset-dialog.c index 5bcfe0f88e..48747b064a 100644 --- a/app/gui/offset-dialog.c +++ b/app/gui/offset-dialog.c @@ -32,8 +32,6 @@ #include "core/gimplayermask.h" #include "core/gimpimage.h" -#include "display/gimpdisplay-foreach.h" - #include "offset-dialog.h" #include "libgimp/gimpintl.h" @@ -251,7 +249,7 @@ offset_ok_callback (GtkWidget *widget, gimp_drawable_offset (drawable, off_d->wrap_around, off_d->fill_type, offset_x, offset_y); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (off_d->dlg); diff --git a/app/gui/preferences-dialog.c b/app/gui/preferences-dialog.c index 7e761db94c..b45e3f1ca4 100644 --- a/app/gui/preferences-dialog.c +++ b/app/gui/preferences-dialog.c @@ -957,7 +957,7 @@ prefs_cancel_callback (GtkWidget *widget, NULL); gdisplays_expose_full (); - gdisplays_flush (); + gimp_displays_flush (gimp); } prefs_strset (&gimprc.image_title_format, old_image_title_format); @@ -1060,7 +1060,7 @@ prefs_toggle_callback (GtkWidget *widget, (GFunc) gimp_image_invalidate_layer_previews, NULL); gdisplays_expose_full (); - gdisplays_flush (); + gimp_displays_flush (gimp); } /* no matching varible found */ else diff --git a/app/gui/qmask-commands.c b/app/gui/qmask-commands.c index ea0bf2541d..ec75b35532 100644 --- a/app/gui/qmask-commands.c +++ b/app/gui/qmask-commands.c @@ -34,7 +34,6 @@ #include "widgets/gimpwidgets-utils.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "qmask-commands.h" @@ -84,7 +83,7 @@ qmask_toggle_cmd_callback (GtkWidget *widget, gimp_image_set_qmask_state (shell->gdisp->gimage, GTK_CHECK_MENU_ITEM (widget)->active); - gdisplays_flush (); + gimp_image_flush (shell->gdisp->gimage); } void @@ -104,7 +103,7 @@ qmask_invert_cmd_callback (GtkWidget *widget, gimp_image_qmask_invert (shell->gdisp->gimage); if (shell->gdisp->gimage->qmask_state) - gdisplays_flush (); + gimp_image_flush (shell->gdisp->gimage); } } @@ -255,7 +254,7 @@ qmask_query_ok_callback (GtkWidget *widget, { gimp_channel_set_color (channel, &color); - gdisplays_flush (); + gimp_image_flush (options->gimage); } } diff --git a/app/gui/select-commands.c b/app/gui/select-commands.c index 6c1b0ff9d3..3f2b5ac70f 100644 --- a/app/gui/select-commands.c +++ b/app/gui/select-commands.c @@ -31,7 +31,6 @@ #include "core/gimpimage-mask.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "libgimp/gimpintl.h" @@ -84,7 +83,7 @@ select_invert_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_invert (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -95,7 +94,7 @@ select_all_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_all (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -106,7 +105,7 @@ select_none_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_none (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -117,7 +116,7 @@ select_float_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_float (gimage, gimp_image_active_drawable (gimage), 0, 0); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -150,7 +149,7 @@ select_sharpen_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_sharpen (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -240,7 +239,7 @@ select_save_cmd_callback (GtkWidget *widget, return_if_no_image (gimage, data); gimp_image_mask_save (gimage); - gdisplays_flush (); + gimp_image_flush (gimage); } @@ -276,7 +275,7 @@ gimp_image_mask_feather_callback (GtkWidget *widget, } gimp_image_mask_feather (gimage, radius_x, radius_y); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -309,7 +308,7 @@ gimp_image_mask_border_callback (GtkWidget *widget, } gimp_image_mask_border (gimage, radius_x, radius_y); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -342,7 +341,7 @@ gimp_image_mask_grow_callback (GtkWidget *widget, } gimp_image_mask_grow (gimage, radius_x, radius_y); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -380,5 +379,5 @@ gimp_image_mask_shrink_callback (GtkWidget *widget, gimp_image_mask_shrink (gimage, radius_x, radius_y, selection_shrink_edge_lock); - gdisplays_flush (); + gimp_image_flush (gimage); } diff --git a/app/gui/vectors-commands.c b/app/gui/vectors-commands.c index ac2abbc3b9..93b613a5db 100644 --- a/app/gui/vectors-commands.c +++ b/app/gui/vectors-commands.c @@ -41,8 +41,6 @@ #include "vectors/gimpvectors.h" -#include "display/gimpdisplay-foreach.h" - #include "widgets/gimpitemfactory.h" #include "widgets/gimpwidgets-utils.h" @@ -92,7 +90,7 @@ vectors_raise_vectors_cmd_callback (GtkWidget *widget, return_if_no_vectors (gimage, active_vectors); gimp_image_raise_vectors (gimage, active_vectors); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -104,7 +102,7 @@ vectors_lower_vectors_cmd_callback (GtkWidget *widget, return_if_no_vectors (gimage, active_vectors); gimp_image_lower_vectors (gimage, active_vectors); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -122,7 +120,7 @@ vectors_duplicate_vectors_cmd_callback (GtkWidget *widget, G_TYPE_FROM_INSTANCE (active_vectors), TRUE); gimp_image_add_vectors (gimage, new_vectors, -1); - gdisplays_flush (); + gimp_image_flush (gimage); #endif } @@ -135,7 +133,7 @@ vectors_delete_vectors_cmd_callback (GtkWidget *widget, return_if_no_vectors (gimage, active_vectors); gimp_image_remove_vectors (gimage, active_vectors); - gdisplays_flush (); + gimp_image_flush (gimage); } static void @@ -152,7 +150,7 @@ vectors_vectors_to_sel (GtkWidget *widget, op, TRUE, FALSE, 0, 0); - gdisplays_flush (); + gimp_image_flush (gimage); } void @@ -324,7 +322,7 @@ vectors_stroke_vectors (GimpVectors *vectors) g_object_unref (G_OBJECT (core)); - gdisplays_flush (); + gimp_image_flush (gimage); } } @@ -396,7 +394,7 @@ new_vectors_query_ok_callback (GtkWidget *widget, gimp_object_set_name (GIMP_OBJECT (new_vectors), vectors_name); - gdisplays_flush (); + gimp_image_flush (gimage); } gtk_widget_destroy (options->query_box); @@ -427,13 +425,13 @@ vectors_new_vectors_query (GimpImage *gimage, /* undo_push_group_end (gimage); */ - gdisplays_flush (); + gimp_image_flush (gimage); return; } /* the new options structure */ options = g_new (NewVectorsOptions, 1); - options->gimage = gimage; + options->gimage = gimage; /* The dialog */ options->query_box = diff --git a/app/image_map.c b/app/image_map.c index 2ab024c8c9..49b66ce2d9 100644 --- a/app/image_map.c +++ b/app/image_map.c @@ -32,7 +32,6 @@ #include "core/gimpimage.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "image_map.h" @@ -434,7 +433,7 @@ image_map_do (gpointer data) if (image_map->PRI == NULL) { image_map->state = IMAGE_MAP_WAITING; - gdisplays_flush (); + gimp_image_flush (image_map->gdisp->gimage); return FALSE; } diff --git a/app/paint/gimpairbrush.c b/app/paint/gimpairbrush.c index e5232794cf..1350b28bad 100644 --- a/app/paint/gimpairbrush.c +++ b/app/paint/gimpairbrush.c @@ -219,10 +219,7 @@ gimp_airbrush_timeout (gpointer client_data) airbrush_timeout.drawable, airbrush_timeout.paint_options); -#ifdef __GNUC__ -#warning: FIXME: gdisplays_flush() -#endif - gdisplays_flush (); + gimp_image_flush (gimp_item_get_image (GIMP_ITEM (airbrush_timeout.drawable))); rate = ((GimpAirbrushOptions *) airbrush_timeout.paint_options)->rate; diff --git a/app/paint/gimpink.c b/app/paint/gimpink.c index 5d613f07b3..07ae1e32a8 100644 --- a/app/paint/gimpink.c +++ b/app/paint/gimpink.c @@ -45,7 +45,6 @@ #include "paint/gimppaintoptions.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpinktool.h" #include "gimpinktool-blob.h" @@ -443,7 +442,7 @@ gimp_ink_tool_button_release (GimpTool *tool, ink_tool->last_blob = NULL; ink_finish (ink_tool, gimp_image_active_drawable (gdisp->gimage)); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } static void diff --git a/app/pdb/display_cmds.c b/app/pdb/display_cmds.c index 70e2c5b8e8..f1b0595143 100644 --- a/app/pdb/display_cmds.c +++ b/app/pdb/display_cmds.c @@ -154,7 +154,7 @@ static Argument * displays_flush_invoker (Gimp *gimp, Argument *args) { - gdisplays_flush (); + gimp_displays_flush (gimp); return procedural_db_return_args (&displays_flush_proc, TRUE); } diff --git a/app/tools/gimpbezierselecttool.c b/app/tools/gimpbezierselecttool.c index 66e3a6e706..30df5d1ad0 100644 --- a/app/tools/gimpbezierselecttool.c +++ b/app/tools/gimpbezierselecttool.c @@ -43,7 +43,6 @@ #include "pdb/procedural_db.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gui/paths-dialog.h" @@ -2914,7 +2913,7 @@ bezier_to_sel_internal (GimpBezierSelectTool *bezier_sel, sel_options->feather_radius); /* show selection on all views */ - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } static gboolean @@ -3475,7 +3474,7 @@ bezier_stroke (GimpBezierSelectTool *bezier_sel, /* End an undo group */ undo_push_group_end (gdisp->gimage); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } static void diff --git a/app/tools/gimpblendtool.c b/app/tools/gimpblendtool.c index c08f9a4018..42a28c9d1d 100644 --- a/app/tools/gimpblendtool.c +++ b/app/tools/gimpblendtool.c @@ -38,7 +38,6 @@ #include "paint/gimppaintoptions.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpprogress.h" #include "widgets/gimpdnd.h" @@ -314,7 +313,7 @@ gimp_blend_tool_button_release (GimpTool *tool, if (progress) gimp_progress_end (progress); - gdisplays_flush (); + gimp_image_flush (gimage); } } diff --git a/app/tools/gimpbrightnesscontrasttool.c b/app/tools/gimpbrightnesscontrasttool.c index 1830417572..d46c7ed775 100644 --- a/app/tools/gimpbrightnesscontrasttool.c +++ b/app/tools/gimpbrightnesscontrasttool.c @@ -32,7 +32,6 @@ #include "core/gimpimage.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpbrightnesscontrasttool.h" #include "tool_manager.h" @@ -481,7 +480,7 @@ brightness_contrast_cancel_callback (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, FALSE); bcd->image_map = NULL; - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); } active_tool->gdisp = NULL; @@ -512,7 +511,8 @@ brightness_contrast_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (bcd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/tools/gimpbrushtool.c b/app/tools/gimpbrushtool.c index b9d781cebe..e0c7d00522 100644 --- a/app/tools/gimpbrushtool.c +++ b/app/tools/gimpbrushtool.c @@ -40,7 +40,6 @@ #include "widgets/gimpdevices.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "display/gimpstatusbar.h" @@ -420,7 +419,7 @@ gimp_paint_tool_button_release (GimpTool *tool, gimp_paint_core_finish (core, drawable); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } static void diff --git a/app/tools/gimpbucketfilltool.c b/app/tools/gimpbucketfilltool.c index 46e205d877..9cc8e02559 100644 --- a/app/tools/gimpbucketfilltool.c +++ b/app/tools/gimpbucketfilltool.c @@ -36,7 +36,6 @@ #include "paint/gimppaintoptions.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "widgets/gimpenummenu.h" @@ -243,7 +242,7 @@ gimp_bucket_fill_tool_button_release (GimpTool *tool, bucket_tool->target_x, bucket_tool->target_y); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } gimp_tool_control_halt (tool->control); /* sets paused_count to 0 -- is this ok? */ diff --git a/app/tools/gimpbycolorselecttool.c b/app/tools/gimpbycolorselecttool.c index 6483479687..c8b4a9c445 100644 --- a/app/tools/gimpbycolorselecttool.c +++ b/app/tools/gimpbycolorselecttool.c @@ -53,7 +53,6 @@ #include "widgets/gimpdnd.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpbycolorselecttool.h" #include "selection_options.h" @@ -415,7 +414,7 @@ by_color_select_button_release (GimpTool *tool, sel_options->feather_radius); /* show selection on all views */ - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); /* update the preview window */ by_color_select_render (by_color_dialog, gdisp->gimage); @@ -767,7 +766,7 @@ by_color_select_invert_callback (GtkWidget *widget, gimp_image_mask_invert (bcd->gimage); /* show selection on all views */ - gdisplays_flush (); + gimp_image_flush (bcd->gimage); /* update the preview window */ by_color_select_render (bcd, bcd->gimage); @@ -793,7 +792,7 @@ by_color_select_select_all_callback (GtkWidget *widget, gimp_image_mask_all (bcd->gimage); /* show selection on all views */ - gdisplays_flush (); + gimp_image_flush (bcd->gimage); /* update the preview window */ by_color_select_render (bcd, bcd->gimage); @@ -819,7 +818,7 @@ by_color_select_select_none_callback (GtkWidget *widget, gimp_image_mask_clear (bcd->gimage); /* show selection on all views */ - gdisplays_flush (); + gimp_image_flush (bcd->gimage); /* update the preview window */ by_color_select_render (bcd, bcd->gimage); @@ -937,7 +936,7 @@ by_color_select_preview_button_press (ByColorDialog *bcd, sel_options->feather_radius); /* show selection on all views */ - gdisplays_flush (); + gimp_image_flush (bcd->gimage); /* update the preview window */ by_color_select_render (bcd, bcd->gimage); @@ -976,7 +975,7 @@ by_color_select_color_drop (GtkWidget *widget, sel_options->feather_radius); /* show selection on all views */ - gdisplays_flush (); + gimp_image_flush (bcd->gimage); /* update the preview window */ by_color_select_render (bcd, bcd->gimage); diff --git a/app/tools/gimpcolorbalancetool.c b/app/tools/gimpcolorbalancetool.c index defa024b2c..065dd5cb95 100644 --- a/app/tools/gimpcolorbalancetool.c +++ b/app/tools/gimpcolorbalancetool.c @@ -32,7 +32,6 @@ #include "core/gimpimage.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "widgets/gimpenummenu.h" @@ -617,7 +616,7 @@ color_balance_cancel_callback (GtkWidget *widget, image_map_abort (cbd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); cbd->image_map = NULL; } @@ -677,7 +676,8 @@ color_balance_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (cbd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/tools/gimpcurvestool.c b/app/tools/gimpcurvestool.c index 7ae90db49c..5b1a08d145 100644 --- a/app/tools/gimpcurvestool.c +++ b/app/tools/gimpcurvestool.c @@ -45,7 +45,6 @@ #include "widgets/gimpenummenu.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpcurvestool.h" #include "tool_manager.h" @@ -1414,7 +1413,7 @@ curves_cancel_callback (GtkWidget *widget, image_map_abort (cd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); cd->image_map = NULL; } @@ -1476,7 +1475,8 @@ curves_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (cd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/tools/gimpeditselectiontool.c b/app/tools/gimpeditselectiontool.c index 3c6f8d61f0..01470750a7 100644 --- a/app/tools/gimpeditselectiontool.c +++ b/app/tools/gimpeditselectiontool.c @@ -40,7 +40,6 @@ #include "core/gimplist.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "display/gimpdisplayshell-selection.h" @@ -391,7 +390,7 @@ gimp_edit_selection_tool_button_release (GimpTool *tool, undo_pop (gdisp->gimage); } - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); g_object_unref (G_OBJECT (edit_select)); } @@ -942,5 +941,5 @@ gimp_edit_selection_tool_arrow_key (GimpTool *tool, } undo_push_group_end (gdisp->gimage); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } diff --git a/app/tools/gimpfreeselecttool.c b/app/tools/gimpfreeselecttool.c index 252d62612c..539793fc67 100644 --- a/app/tools/gimpfreeselecttool.c +++ b/app/tools/gimpfreeselecttool.c @@ -37,7 +37,6 @@ #include "core/gimptoolinfo.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpeditselectiontool.h" #include "gimpfreeselecttool.h" @@ -247,7 +246,7 @@ gimp_free_select_tool_button_release (GimpTool *tool, else gimp_image_mask_clear (gdisp->gimage); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); return; } @@ -260,7 +259,7 @@ gimp_free_select_tool_button_release (GimpTool *tool, sel_options->feather_radius, sel_options->feather_radius); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } } diff --git a/app/tools/gimpfuzzyselecttool.c b/app/tools/gimpfuzzyselecttool.c index 93c6e4e5eb..7bd428ba91 100644 --- a/app/tools/gimpfuzzyselecttool.c +++ b/app/tools/gimpfuzzyselecttool.c @@ -41,7 +41,6 @@ #include "core/gimptoolinfo.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "gimpeditselectiontool.h" @@ -270,7 +269,7 @@ gimp_fuzzy_select_tool_button_release (GimpTool *tool, else gimp_image_mask_clear (gdisp->gimage); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); return; } @@ -300,7 +299,7 @@ gimp_fuzzy_select_tool_button_release (GimpTool *tool, g_object_unref (G_OBJECT (fuzzy_sel->fuzzy_mask)); fuzzy_sel->fuzzy_mask = NULL; - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } /* If the segment array is allocated, free it */ diff --git a/app/tools/gimphuesaturationtool.c b/app/tools/gimphuesaturationtool.c index 0ac305b6d0..4e9bca1f4a 100644 --- a/app/tools/gimphuesaturationtool.c +++ b/app/tools/gimphuesaturationtool.c @@ -38,7 +38,6 @@ #include "core/gimpimage-mask.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimphuesaturationtool.h" #include "tool_manager.h" @@ -789,7 +788,7 @@ hue_saturation_cancel_callback (GtkWidget *widget, image_map_abort (hsd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); hsd->image_map = NULL; } @@ -837,7 +836,8 @@ hue_saturation_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (hsd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/tools/gimpinktool.c b/app/tools/gimpinktool.c index 5d613f07b3..07ae1e32a8 100644 --- a/app/tools/gimpinktool.c +++ b/app/tools/gimpinktool.c @@ -45,7 +45,6 @@ #include "paint/gimppaintoptions.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpinktool.h" #include "gimpinktool-blob.h" @@ -443,7 +442,7 @@ gimp_ink_tool_button_release (GimpTool *tool, ink_tool->last_blob = NULL; ink_finish (ink_tool, gimp_image_active_drawable (gdisp->gimage)); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } static void diff --git a/app/tools/gimpiscissorstool.c b/app/tools/gimpiscissorstool.c index d4d0b9a559..7b2c7e750f 100644 --- a/app/tools/gimpiscissorstool.c +++ b/app/tools/gimpiscissorstool.c @@ -72,7 +72,6 @@ #include "core/gimptoolinfo.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpbezierselecttool.h" #include "gimpiscissorstool.h" @@ -501,7 +500,7 @@ gimp_iscissors_tool_button_press (GimpTool *tool, gimp_iscissors_tool_reset (iscissors); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } else if (! iscissors->connected) { diff --git a/app/tools/gimplevelstool.c b/app/tools/gimplevelstool.c index 4d9669dbdf..5d39c490f5 100644 --- a/app/tools/gimplevelstool.c +++ b/app/tools/gimplevelstool.c @@ -48,7 +48,6 @@ #include "widgets/gimphistogramview.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimplevelstool.h" #include "tool_manager.h" @@ -1134,7 +1133,7 @@ levels_cancel_callback (GtkWidget *widget, image_map_abort (ld->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); ld->image_map = NULL; } @@ -1225,7 +1224,8 @@ levels_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (ld->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } diff --git a/app/tools/gimpmeasuretool.c b/app/tools/gimpmeasuretool.c index 6f80ac7ac0..0799d08789 100644 --- a/app/tools/gimpmeasuretool.c +++ b/app/tools/gimpmeasuretool.c @@ -39,7 +39,6 @@ #include "core/gimptoolinfo.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "gui/info-dialog.h" @@ -317,7 +316,7 @@ gimp_measure_tool_button_press (GimpTool *tool, undo_push_group_end (gdisp->gimage); if (create_hguide || create_vguide) - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); measure_tool->function = GUIDING; break; diff --git a/app/tools/gimpmovetool.c b/app/tools/gimpmovetool.c index 0f50c05a73..c5733f1ad5 100644 --- a/app/tools/gimpmovetool.c +++ b/app/tools/gimpmovetool.c @@ -367,7 +367,7 @@ gimp_move_tool_button_release (GimpTool *tool, } gimp_display_shell_selection_visibility (shell, GIMP_SELECTION_RESUME); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); if (move->guide) gimp_display_shell_draw_guide (shell, move->guide, TRUE); @@ -380,7 +380,7 @@ gimp_move_tool_button_release (GimpTool *tool, if (move->layer) { floating_sel_anchor (move->layer); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } } } diff --git a/app/tools/gimppainttool.c b/app/tools/gimppainttool.c index b9d781cebe..e0c7d00522 100644 --- a/app/tools/gimppainttool.c +++ b/app/tools/gimppainttool.c @@ -40,7 +40,6 @@ #include "widgets/gimpdevices.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "display/gimpstatusbar.h" @@ -420,7 +419,7 @@ gimp_paint_tool_button_release (GimpTool *tool, gimp_paint_core_finish (core, drawable); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } static void diff --git a/app/tools/gimpposterizetool.c b/app/tools/gimpposterizetool.c index 8b31aa679b..2234343e56 100644 --- a/app/tools/gimpposterizetool.c +++ b/app/tools/gimpposterizetool.c @@ -31,7 +31,6 @@ #include "core/gimpimage.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpposterizetool.h" #include "tool_manager.h" @@ -396,7 +395,7 @@ posterize_cancel_callback (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, FALSE); pd->image_map = NULL; - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); } active_tool->gdisp = NULL; @@ -427,7 +426,8 @@ posterize_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (pd->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/tools/gimprectselecttool.c b/app/tools/gimprectselecttool.c index bec374a5d1..7d2ca3e165 100644 --- a/app/tools/gimprectselecttool.c +++ b/app/tools/gimprectselecttool.c @@ -38,7 +38,6 @@ #include "core/gimptoolinfo.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpeditselectiontool.h" #include "gimprectselecttool.h" @@ -292,7 +291,7 @@ gimp_rect_select_tool_button_release (GimpTool *tool, else gimp_image_mask_clear (gdisp->gimage); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); return; } @@ -305,7 +304,7 @@ gimp_rect_select_tool_button_release (GimpTool *tool, x1, y1, (x2 - x1), (y2 - y1)); /* show selection on all views */ - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } } diff --git a/app/tools/gimpregionselecttool.c b/app/tools/gimpregionselecttool.c index 93c6e4e5eb..7bd428ba91 100644 --- a/app/tools/gimpregionselecttool.c +++ b/app/tools/gimpregionselecttool.c @@ -41,7 +41,6 @@ #include "core/gimptoolinfo.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "display/gimpdisplayshell.h" #include "gimpeditselectiontool.h" @@ -270,7 +269,7 @@ gimp_fuzzy_select_tool_button_release (GimpTool *tool, else gimp_image_mask_clear (gdisp->gimage); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); return; } @@ -300,7 +299,7 @@ gimp_fuzzy_select_tool_button_release (GimpTool *tool, g_object_unref (G_OBJECT (fuzzy_sel->fuzzy_mask)); fuzzy_sel->fuzzy_mask = NULL; - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } /* If the segment array is allocated, free it */ diff --git a/app/tools/gimptexttool.c b/app/tools/gimptexttool.c index f3f5e836d5..eaf1e7e8da 100644 --- a/app/tools/gimptexttool.c +++ b/app/tools/gimptexttool.c @@ -44,7 +44,6 @@ #include "widgets/gimpfontselection.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpeditselectiontool.h" #include "gimptexttool.h" @@ -364,7 +363,7 @@ text_tool_render (GimpTextTool *text_tool) g_free (fontname); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); } GimpLayer * diff --git a/app/tools/gimpthresholdtool.c b/app/tools/gimpthresholdtool.c index f452a22929..7b06403102 100644 --- a/app/tools/gimpthresholdtool.c +++ b/app/tools/gimpthresholdtool.c @@ -36,7 +36,6 @@ #include "widgets/gimphistogramview.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gimpthresholdtool.h" #include "tool_manager.h" @@ -533,7 +532,7 @@ threshold_cancel_callback (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, FALSE); td->image_map = NULL; - gdisplays_flush (); + gimp_image_flush (active_tool->gdisp->gimage); } active_tool->gdisp = NULL; @@ -564,7 +563,8 @@ threshold_preview_update (GtkWidget *widget, gimp_tool_control_set_preserve (active_tool->control, TRUE); image_map_clear (td->image_map); gimp_tool_control_set_preserve (active_tool->control, FALSE); - gdisplays_flush (); + + gimp_image_flush (active_tool->gdisp->gimage); } } } diff --git a/app/tools/gimptransformtool.c b/app/tools/gimptransformtool.c index 7d1e6ad458..d1613ffd21 100644 --- a/app/tools/gimptransformtool.c +++ b/app/tools/gimptransformtool.c @@ -785,7 +785,7 @@ gimp_transform_tool_doit (GimpTransformTool *tr_tool, gimp_unset_busy (gdisp->gimage->gimp); - gdisplays_flush (); + gimp_image_flush (gdisp->gimage); gimp_transform_tool_reset (tr_tool, gdisp); } diff --git a/app/tools/gimpvectortool.c b/app/tools/gimpvectortool.c index 81ae960f8e..ed065d99e7 100644 --- a/app/tools/gimpvectortool.c +++ b/app/tools/gimpvectortool.c @@ -34,6 +34,7 @@ #include "core/gimp.h" #include "core/gimpcontext.h" #include "core/gimpimage.h" +#include "core/gimplist.h" #include "core/gimptoolinfo.h" #include "vectors/gimpanchor.h" @@ -517,11 +518,13 @@ gimp_vector_tool_set_vectors (GimpVectorTool *vector_tool, if (gdisp->gimage != item->gimage) { - GSList *list; + GList *list; gdisp = NULL; - for (list = display_list; list; list = g_slist_next (list)) + for (list = GIMP_LIST (item->gimage->gimp->displays)->list; + list; + list = g_list_next (list)) { if (((GimpDisplay *) list->data)->gimage == item->gimage) { diff --git a/app/undo_history.c b/app/undo_history.c index cc2120520c..468bebc2f9 100644 --- a/app/undo_history.c +++ b/app/undo_history.c @@ -66,8 +66,6 @@ #include "file/file-utils.h" -#include "display/gimpdisplay-foreach.h" - #include "gimprc.h" #include "undo.h" #include "undo_types.h" @@ -523,9 +521,7 @@ undo_history_undo_callback (GtkWidget *widget, undo_history_st *st = data; if (undo_pop (st->gimage)) - { - gdisplays_flush (); - } + gimp_image_flush (st->gimage); } /* redo button clicked */ @@ -536,9 +532,7 @@ undo_history_redo_callback (GtkWidget *widget, undo_history_st *st = data; if (undo_redo (st->gimage)) - { - gdisplays_flush (); - } + gimp_image_flush (st->gimage); } @@ -705,13 +699,15 @@ undo_history_select_row_callback (GtkWidget *widget, st->old_selection++; } - gdisplays_flush (); + gimp_image_flush (st->gimage); - undo_history_set_pixmap (GTK_CLIST (widget), cur_selection, st->preview_size, st->gimage); + undo_history_set_pixmap (GTK_CLIST (widget), + cur_selection, st->preview_size, st->gimage); /* if the image is clean, set the clean pixmap */ if (st->gimage->dirty == 0) - gtk_clist_set_pixmap (GTK_CLIST (widget), cur_selection, 1, clean_pixmap, clean_mask); + gtk_clist_set_pixmap (GTK_CLIST (widget), + cur_selection, 1, clean_pixmap, clean_mask); g_signal_handlers_unblock_by_func (G_OBJECT (st->gimage), undo_history_undo_event, st); diff --git a/app/widgets/gimpbufferview.c b/app/widgets/gimpbufferview.c index a587c4ae20..13b1719971 100644 --- a/app/widgets/gimpbufferview.c +++ b/app/widgets/gimpbufferview.c @@ -27,17 +27,12 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpbuffer.h" #include "core/gimpcontainer.h" #include "core/gimpcontext.h" #include "core/gimpedit.h" #include "core/gimpimage.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpcontainerview.h" #include "gimpbufferview.h" #include "gimpdnd.h" @@ -224,7 +219,7 @@ gimp_buffer_view_paste_clicked (GtkWidget *widget, buffer, FALSE); - gdisplays_flush (); + gimp_image_flush (gimage); } } } @@ -254,7 +249,7 @@ gimp_buffer_view_paste_into_clicked (GtkWidget *widget, buffer, TRUE); - gdisplays_flush (); + gimp_image_flush (gimage); } } } diff --git a/app/widgets/gimpchannellistview.c b/app/widgets/gimpchannellistview.c index a857522aae..84e292bcd7 100644 --- a/app/widgets/gimpchannellistview.c +++ b/app/widgets/gimpchannellistview.c @@ -33,16 +33,11 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpchannel.h" #include "core/gimpcontainer.h" #include "core/gimpimage.h" #include "core/gimpimage-mask-select.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpchannellistview.h" #include "gimpcomponentlistitem.h" #include "gimpdnd.h" @@ -308,7 +303,8 @@ gimp_channel_list_view_toselection_extended_clicked (GtkWidget *widget if (viewable) { - GimpChannelOps operation = GIMP_CHANNEL_OP_REPLACE; + GimpChannelOps operation = GIMP_CHANNEL_OP_REPLACE; + GimpImage *gimage; if (state & GDK_SHIFT_MASK) { @@ -322,12 +318,14 @@ gimp_channel_list_view_toselection_extended_clicked (GtkWidget *widget operation = GIMP_CHANNEL_OP_SUBTRACT; } - gimp_image_mask_select_channel (gimp_item_get_image (GIMP_ITEM (viewable)), + gimage = gimp_item_get_image (GIMP_ITEM (viewable)); + + gimp_image_mask_select_channel (gimage, GIMP_CHANNEL (viewable), 0, 0, operation, FALSE, 0.0, 0.0); - gdisplays_flush (); + gimp_image_flush (gimage); } } diff --git a/app/widgets/gimpchanneltreeview.c b/app/widgets/gimpchanneltreeview.c index a857522aae..84e292bcd7 100644 --- a/app/widgets/gimpchanneltreeview.c +++ b/app/widgets/gimpchanneltreeview.c @@ -33,16 +33,11 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpchannel.h" #include "core/gimpcontainer.h" #include "core/gimpimage.h" #include "core/gimpimage-mask-select.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpchannellistview.h" #include "gimpcomponentlistitem.h" #include "gimpdnd.h" @@ -308,7 +303,8 @@ gimp_channel_list_view_toselection_extended_clicked (GtkWidget *widget if (viewable) { - GimpChannelOps operation = GIMP_CHANNEL_OP_REPLACE; + GimpChannelOps operation = GIMP_CHANNEL_OP_REPLACE; + GimpImage *gimage; if (state & GDK_SHIFT_MASK) { @@ -322,12 +318,14 @@ gimp_channel_list_view_toselection_extended_clicked (GtkWidget *widget operation = GIMP_CHANNEL_OP_SUBTRACT; } - gimp_image_mask_select_channel (gimp_item_get_image (GIMP_ITEM (viewable)), + gimage = gimp_item_get_image (GIMP_ITEM (viewable)); + + gimp_image_mask_select_channel (gimage, GIMP_CHANNEL (viewable), 0, 0, operation, FALSE, 0.0, 0.0); - gdisplays_flush (); + gimp_image_flush (gimage); } } diff --git a/app/widgets/gimpcomponentlistitem.c b/app/widgets/gimpcomponentlistitem.c index 79db390f08..7fcfd8d7ae 100644 --- a/app/widgets/gimpcomponentlistitem.c +++ b/app/widgets/gimpcomponentlistitem.c @@ -27,14 +27,9 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpimage.h" #include "core/gimpviewable.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpcomponentlistitem.h" #include "gimpdnd.h" #include "gimpimagepreview.h" @@ -273,7 +268,7 @@ gimp_component_list_item_eye_toggled (GtkWidget *widget, gimp_component_list_item_visibility_changed, list_item); - gdisplays_flush (); + gimp_image_flush (gimage); } } diff --git a/app/widgets/gimpdocumentview.c b/app/widgets/gimpdocumentview.c index 56bfbc6212..5a7f7c8c8d 100644 --- a/app/widgets/gimpdocumentview.c +++ b/app/widgets/gimpdocumentview.c @@ -32,6 +32,7 @@ #warning FIXME #include "display/display-types.h" #include "display/display-types.h" +#include "core/gimp.h" #include "core/gimpcontainer.h" #include "core/gimpcontext.h" #include "core/gimpedit.h" @@ -41,7 +42,6 @@ #include "file/file-open.h" #include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" #include "gui/file-open-dialog.h" @@ -282,7 +282,9 @@ gimp_document_view_open_extended_clicked (GtkWidget *widget, closure.name = gimp_object_get_name (GIMP_OBJECT (imagefile)); closure.found = FALSE; - gdisplays_foreach (gimp_document_view_raise_display, &closure); + gimp_container_foreach (editor->view->context->gimp->displays, + gimp_document_view_raise_display, + &closure); if (! closure.found) { diff --git a/app/widgets/gimpdrawablelistitem.c b/app/widgets/gimpdrawablelistitem.c index 09c0efa6fe..17b39882fe 100644 --- a/app/widgets/gimpdrawablelistitem.c +++ b/app/widgets/gimpdrawablelistitem.c @@ -32,12 +32,8 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpdrawable.h" - -#include "display/gimpdisplay-foreach.h" +#include "core/gimpimage.h" #include "gimpdnd.h" #include "gimpdrawablelistitem.h" @@ -210,7 +206,7 @@ gimp_drawable_list_item_eye_toggled (GtkWidget *widget, gimp_drawable_list_item_visibility_changed, list_item); - gdisplays_flush (); + gimp_image_flush (gimp_item_get_image (GIMP_ITEM (drawable))); } } diff --git a/app/widgets/gimpdrawablelistview.c b/app/widgets/gimpdrawablelistview.c index 7841f9920c..999338c431 100644 --- a/app/widgets/gimpdrawablelistview.c +++ b/app/widgets/gimpdrawablelistview.c @@ -33,9 +33,6 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpchannel.h" #include "core/gimpcontainer.h" #include "core/gimpdrawable.h" @@ -43,8 +40,6 @@ #include "core/gimplayer.h" #include "core/gimpmarshal.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpchannellistview.h" #include "gimpdnd.h" #include "gimpdrawablelistview.h" diff --git a/app/widgets/gimpdrawabletreeview.c b/app/widgets/gimpdrawabletreeview.c index 7841f9920c..999338c431 100644 --- a/app/widgets/gimpdrawabletreeview.c +++ b/app/widgets/gimpdrawabletreeview.c @@ -33,9 +33,6 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpchannel.h" #include "core/gimpcontainer.h" #include "core/gimpdrawable.h" @@ -43,8 +40,6 @@ #include "core/gimplayer.h" #include "core/gimpmarshal.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpchannellistview.h" #include "gimpdnd.h" #include "gimpdrawablelistview.h" diff --git a/app/widgets/gimpimageview.c b/app/widgets/gimpimageview.c index db3cdcac9a..a2b0d87294 100644 --- a/app/widgets/gimpimageview.c +++ b/app/widgets/gimpimageview.c @@ -27,17 +27,11 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimp.h" #include "core/gimpcontainer.h" #include "core/gimpcontext.h" #include "core/gimpimage.h" -#include "display/gimpdisplay.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpcontainerview.h" #include "gimpimageview.h" #include "gimpdnd.h" diff --git a/app/widgets/gimpitemlistitem.c b/app/widgets/gimpitemlistitem.c index cc69b6bb97..715b7d27ce 100644 --- a/app/widgets/gimpitemlistitem.c +++ b/app/widgets/gimpitemlistitem.c @@ -32,13 +32,9 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - +#include "core/gimpimage.h" #include "core/gimpitem.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpdnd.h" #include "gimpitemlistitem.h" #include "gimpitemlistview.h" @@ -160,8 +156,8 @@ gimp_item_list_item_drag_drop (GtkWidget *widget, new_viewable, dest_index); } - - gdisplays_flush (); + + gimp_image_flush (item_view->gimage); } else { diff --git a/app/widgets/gimpitemlistview.c b/app/widgets/gimpitemlistview.c index cb2a35f379..3bf93240d8 100644 --- a/app/widgets/gimpitemlistview.c +++ b/app/widgets/gimpitemlistview.c @@ -33,9 +33,6 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpchannel.h" #include "core/gimpcontainer.h" #include "core/gimpimage.h" @@ -44,8 +41,6 @@ #include "vectors/gimpvectors.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpchannellistview.h" #include "gimpdnd.h" #include "gimpitemlistview.h" @@ -468,7 +463,7 @@ gimp_item_list_view_select_item (GimpContainerView *view, { list_view->set_item_func (list_view->gimage, item); - gdisplays_flush (); + gimp_image_flush (list_view->gimage); } index = gimp_container_get_child_index (view->container, @@ -584,7 +579,7 @@ gimp_item_list_view_duplicate_clicked (GtkWidget *widget, { view->add_item_func (view->gimage, new_viewable, -1); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -608,7 +603,7 @@ gimp_item_list_view_raise_clicked (GtkWidget *widget, { view->reorder_item_func (view->gimage, viewable, index - 1, TRUE); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -630,7 +625,7 @@ gimp_item_list_view_raise_extended_clicked (GtkWidget *widget, { view->reorder_item_func (view->gimage, viewable, 0, TRUE); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -651,7 +646,7 @@ gimp_item_list_view_lower_clicked (GtkWidget *widget, { view->reorder_item_func (view->gimage, viewable, index + 1, TRUE); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -674,7 +669,7 @@ gimp_item_list_view_lower_extended_clicked (GtkWidget *widget, view->reorder_item_func (view->gimage, viewable, container->num_children - 1, TRUE); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -705,7 +700,7 @@ gimp_item_list_view_delete_clicked (GtkWidget *widget, view->remove_item_func (view->gimage, viewable); - gdisplays_flush (); + gimp_image_flush (view->gimage); } diff --git a/app/widgets/gimpitemtreeview.c b/app/widgets/gimpitemtreeview.c index cb2a35f379..3bf93240d8 100644 --- a/app/widgets/gimpitemtreeview.c +++ b/app/widgets/gimpitemtreeview.c @@ -33,9 +33,6 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpchannel.h" #include "core/gimpcontainer.h" #include "core/gimpimage.h" @@ -44,8 +41,6 @@ #include "vectors/gimpvectors.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpchannellistview.h" #include "gimpdnd.h" #include "gimpitemlistview.h" @@ -468,7 +463,7 @@ gimp_item_list_view_select_item (GimpContainerView *view, { list_view->set_item_func (list_view->gimage, item); - gdisplays_flush (); + gimp_image_flush (list_view->gimage); } index = gimp_container_get_child_index (view->container, @@ -584,7 +579,7 @@ gimp_item_list_view_duplicate_clicked (GtkWidget *widget, { view->add_item_func (view->gimage, new_viewable, -1); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -608,7 +603,7 @@ gimp_item_list_view_raise_clicked (GtkWidget *widget, { view->reorder_item_func (view->gimage, viewable, index - 1, TRUE); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -630,7 +625,7 @@ gimp_item_list_view_raise_extended_clicked (GtkWidget *widget, { view->reorder_item_func (view->gimage, viewable, 0, TRUE); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -651,7 +646,7 @@ gimp_item_list_view_lower_clicked (GtkWidget *widget, { view->reorder_item_func (view->gimage, viewable, index + 1, TRUE); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -674,7 +669,7 @@ gimp_item_list_view_lower_extended_clicked (GtkWidget *widget, view->reorder_item_func (view->gimage, viewable, container->num_children - 1, TRUE); - gdisplays_flush (); + gimp_image_flush (view->gimage); } } @@ -705,7 +700,7 @@ gimp_item_list_view_delete_clicked (GtkWidget *widget, view->remove_item_func (view->gimage, viewable); - gdisplays_flush (); + gimp_image_flush (view->gimage); } diff --git a/app/widgets/gimplayerlistitem.c b/app/widgets/gimplayerlistitem.c index ce702bddb3..73dfdd2aa0 100644 --- a/app/widgets/gimplayerlistitem.c +++ b/app/widgets/gimplayerlistitem.c @@ -33,16 +33,11 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpdrawable.h" #include "core/gimpimage.h" #include "core/gimplayer.h" #include "core/gimplayermask.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpdnd.h" #include "gimplayerlistitem.h" #include "gimppreview.h" @@ -602,5 +597,5 @@ gimp_layer_list_item_mask_extended_clicked (GtkWidget *widget, } if (flush) - gdisplays_flush (); + gimp_image_flush (gimp_item_get_image (GIMP_ITEM (mask))); } diff --git a/app/widgets/gimplayerlistview.c b/app/widgets/gimplayerlistview.c index 4dba05b134..f051db28f9 100644 --- a/app/widgets/gimplayerlistview.c +++ b/app/widgets/gimplayerlistview.c @@ -28,14 +28,9 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpcontainer.h" -#include "core/gimpdrawable.h" #include "core/gimplayer.h" - -#include "display/gimpdisplay-foreach.h" +#include "core/gimpimage.h" #include "gimpdnd.h" #include "gimplayerlistview.h" @@ -386,7 +381,7 @@ gimp_layer_list_view_paint_mode_menu_callback (GtkWidget *widget, gimp_layer_set_mode (layer, mode); UNBLOCK(); - gdisplays_flush (); + gimp_image_flush (item_view->gimage); } } } @@ -440,7 +435,7 @@ gimp_layer_list_view_opacity_scale_changed (GtkAdjustment *adjustment, gimp_layer_set_opacity (layer, opacity); UNBLOCK(); - gdisplays_flush (); + gimp_image_flush (item_view->gimage); } } } diff --git a/app/widgets/gimplayertreeview.c b/app/widgets/gimplayertreeview.c index 4dba05b134..f051db28f9 100644 --- a/app/widgets/gimplayertreeview.c +++ b/app/widgets/gimplayertreeview.c @@ -28,14 +28,9 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpcontainer.h" -#include "core/gimpdrawable.h" #include "core/gimplayer.h" - -#include "display/gimpdisplay-foreach.h" +#include "core/gimpimage.h" #include "gimpdnd.h" #include "gimplayerlistview.h" @@ -386,7 +381,7 @@ gimp_layer_list_view_paint_mode_menu_callback (GtkWidget *widget, gimp_layer_set_mode (layer, mode); UNBLOCK(); - gdisplays_flush (); + gimp_image_flush (item_view->gimage); } } } @@ -440,7 +435,7 @@ gimp_layer_list_view_opacity_scale_changed (GtkAdjustment *adjustment, gimp_layer_set_opacity (layer, opacity); UNBLOCK(); - gdisplays_flush (); + gimp_image_flush (item_view->gimage); } } } diff --git a/app/widgets/gimpvectorslistview.c b/app/widgets/gimpvectorslistview.c index a722679213..ebbdcaa398 100644 --- a/app/widgets/gimpvectorslistview.c +++ b/app/widgets/gimpvectorslistview.c @@ -33,9 +33,6 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpchannel.h" #include "core/gimpcontainer.h" #include "core/gimpimage.h" @@ -43,8 +40,6 @@ #include "vectors/gimpvectors.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpvectorslistview.h" #include "gimpcomponentlistitem.h" #include "gimpdnd.h" @@ -195,13 +190,17 @@ gimp_vectors_list_view_to_selection (GimpVectorsListView *view, { if (vectors) { - gimp_image_mask_select_vectors (GIMP_ITEM (vectors)->gimage, + GimpImage *gimage; + + gimage = gimp_item_get_image (GIMP_ITEM (vectors)); + + gimp_image_mask_select_vectors (gimage, vectors, operation, TRUE, FALSE, 0, 0); - gdisplays_flush (); + gimp_image_flush (gimage); } } diff --git a/app/widgets/gimpvectorstreeview.c b/app/widgets/gimpvectorstreeview.c index a722679213..ebbdcaa398 100644 --- a/app/widgets/gimpvectorstreeview.c +++ b/app/widgets/gimpvectorstreeview.c @@ -33,9 +33,6 @@ #include "widgets-types.h" -#warning FIXME #include "display/display-types.h" -#include "display/display-types.h" - #include "core/gimpchannel.h" #include "core/gimpcontainer.h" #include "core/gimpimage.h" @@ -43,8 +40,6 @@ #include "vectors/gimpvectors.h" -#include "display/gimpdisplay-foreach.h" - #include "gimpvectorslistview.h" #include "gimpcomponentlistitem.h" #include "gimpdnd.h" @@ -195,13 +190,17 @@ gimp_vectors_list_view_to_selection (GimpVectorsListView *view, { if (vectors) { - gimp_image_mask_select_vectors (GIMP_ITEM (vectors)->gimage, + GimpImage *gimage; + + gimage = gimp_item_get_image (GIMP_ITEM (vectors)); + + gimp_image_mask_select_vectors (gimage, vectors, operation, TRUE, FALSE, 0, 0); - gdisplays_flush (); + gimp_image_flush (gimage); } } diff --git a/tools/pdbgen/pdb/display.pdb b/tools/pdbgen/pdb/display.pdb index bdaadd9867..bbc28ada99 100644 --- a/tools/pdbgen/pdb/display.pdb +++ b/tools/pdbgen/pdb/display.pdb @@ -79,7 +79,7 @@ HELP &std_pdb_misc; - %invoke = ( code => 'gdisplays_flush ();' ); + %invoke = ( code => 'gimp_displays_flush (gimp);' ); } @headers = qw("core/gimp.h" "display/display-types.h" "display/gimpdisplay.h"