mirror of https://github.com/GNOME/gimp.git
Most lengthy UI-blocking operations now put up an hourglass so the user
Sun Jan 10 23:31:45 GMT 1999 Adam D. Moss <adam@gimp.org> * app/blend.c app/bucket_fill.c app/convert.c app/crop.c app/cursorutil.c app/cursorutil.h app/fuzzy_select.c app/gdisplay.c app/gdisplay.h app/gimage_cmds.c app/gimpimage.c app/transform_core.c app/xcf.c: Most lengthy UI-blocking operations now put up an hourglass so the user can see that GIMP is working. Let me know if there are other vital cases.
This commit is contained in:
parent
01d2a20548
commit
bf0dbb2018
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
Sun Jan 10 23:31:45 GMT 1999 Adam D. Moss <adam@gimp.org>
|
||||
|
||||
* app/blend.c app/bucket_fill.c app/convert.c app/crop.c
|
||||
app/cursorutil.c app/cursorutil.h app/fuzzy_select.c
|
||||
app/gdisplay.c app/gdisplay.h app/gimage_cmds.c
|
||||
app/gimpimage.c app/transform_core.c app/xcf.c:
|
||||
|
||||
Most lengthy UI-blocking operations now put up an
|
||||
hourglass so the user can see that GIMP is working.
|
||||
Let me know if there are other vital cases.
|
||||
|
||||
Sun Jan 10 22:41:51 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>
|
||||
|
||||
New
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "blend.h"
|
||||
#include "brush_select.h"
|
||||
#include "buildmenu.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "errors.h"
|
||||
|
@ -788,6 +789,8 @@ blend (GImage *gimage,
|
|||
int bytes;
|
||||
int x1, y1, x2, y2;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
has_selection = drawable_mask_bounds (drawable, &x1, &y1, &x2, &y2);
|
||||
|
||||
has_alpha = drawable_has_alpha (drawable);
|
||||
|
@ -819,6 +822,8 @@ blend (GImage *gimage,
|
|||
|
||||
/* free the temporary buffer */
|
||||
tile_manager_destroy (buf_tiles);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "appenv.h"
|
||||
#include "brush_select.h"
|
||||
#include "bucket_fill.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "fuzzy_select.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -460,6 +461,8 @@ bucket_fill (gimage, drawable, fill_mode, paint_mode,
|
|||
pat_buf = pattern->mask;
|
||||
}
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
bytes = drawable_bytes (drawable);
|
||||
has_alpha = drawable_has_alpha (drawable);
|
||||
|
||||
|
@ -533,6 +536,8 @@ bucket_fill (gimage, drawable, fill_mode, paint_mode,
|
|||
|
||||
if (new_buf)
|
||||
temp_buf_free (pat_buf);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* 99/01/10 - Hourglass... [Adam]
|
||||
*
|
||||
* 98/07/25 - Convert-to-indexed now remembers the last invocation's
|
||||
* settings. Also, GRAY->INDEXED more flexible. [Adam]
|
||||
*
|
||||
|
@ -70,6 +72,7 @@
|
|||
#include "appenv.h"
|
||||
#include "actionarea.h"
|
||||
#include "convert.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "fsdither.h"
|
||||
|
@ -734,6 +737,8 @@ convert_image (GImage *gimage,
|
|||
new_layer_type = RGBA_GIMAGE;
|
||||
new_layer_bytes = 4;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimage_floating_sel (gimage);
|
||||
|
||||
|
@ -913,6 +918,8 @@ convert_image (GImage *gimage,
|
|||
gdisplays_update_full (gimage);
|
||||
|
||||
gimp_image_colormap_changed (gimage, -1);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "blend.h"
|
||||
#include "brush_select.h"
|
||||
#include "buildmenu.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "errors.h"
|
||||
|
@ -788,6 +789,8 @@ blend (GImage *gimage,
|
|||
int bytes;
|
||||
int x1, y1, x2, y2;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
has_selection = drawable_mask_bounds (drawable, &x1, &y1, &x2, &y2);
|
||||
|
||||
has_alpha = drawable_has_alpha (drawable);
|
||||
|
@ -819,6 +822,8 @@ blend (GImage *gimage,
|
|||
|
||||
/* free the temporary buffer */
|
||||
tile_manager_destroy (buf_tiles);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* 99/01/10 - Hourglass... [Adam]
|
||||
*
|
||||
* 98/07/25 - Convert-to-indexed now remembers the last invocation's
|
||||
* settings. Also, GRAY->INDEXED more flexible. [Adam]
|
||||
*
|
||||
|
@ -70,6 +72,7 @@
|
|||
#include "appenv.h"
|
||||
#include "actionarea.h"
|
||||
#include "convert.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "fsdither.h"
|
||||
|
@ -734,6 +737,8 @@ convert_image (GImage *gimage,
|
|||
new_layer_type = RGBA_GIMAGE;
|
||||
new_layer_bytes = 4;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimage_floating_sel (gimage);
|
||||
|
||||
|
@ -913,6 +918,8 @@ convert_image (GImage *gimage,
|
|||
gdisplays_update_full (gimage);
|
||||
|
||||
gimp_image_colormap_changed (gimage, -1);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "gimpimageP.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -347,6 +348,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
g_assert (new_width > 0 && new_height > 0);
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
|
@ -395,6 +398,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -408,6 +413,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
int old_width, old_height;
|
||||
int layer_width, layer_height;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimp_image_floating_sel (gimage);
|
||||
|
||||
|
@ -459,6 +466,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1998,8 +2007,10 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2018,6 +2029,8 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
|
@ -2030,6 +2043,9 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2069,8 +2085,10 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "gimpimageP.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -347,6 +348,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
g_assert (new_width > 0 && new_height > 0);
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
|
@ -395,6 +398,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -408,6 +413,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
int old_width, old_height;
|
||||
int layer_width, layer_height;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimp_image_floating_sel (gimage);
|
||||
|
||||
|
@ -459,6 +466,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1998,8 +2007,10 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2018,6 +2029,8 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
|
@ -2030,6 +2043,9 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2069,8 +2085,10 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "gimpimageP.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -347,6 +348,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
g_assert (new_width > 0 && new_height > 0);
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
|
@ -395,6 +398,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -408,6 +413,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
int old_width, old_height;
|
||||
int layer_width, layer_height;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimp_image_floating_sel (gimage);
|
||||
|
||||
|
@ -459,6 +466,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1998,8 +2007,10 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2018,6 +2029,8 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
|
@ -2030,6 +2043,9 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2069,8 +2085,10 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "gimpimageP.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -347,6 +348,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
g_assert (new_width > 0 && new_height > 0);
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
|
@ -395,6 +398,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -408,6 +413,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
int old_width, old_height;
|
||||
int layer_width, layer_height;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimp_image_floating_sel (gimage);
|
||||
|
||||
|
@ -459,6 +466,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1998,8 +2007,10 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2018,6 +2029,8 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
|
@ -2030,6 +2043,9 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2069,8 +2085,10 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "gimpimageP.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -347,6 +348,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
g_assert (new_width > 0 && new_height > 0);
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
|
@ -395,6 +398,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -408,6 +413,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
int old_width, old_height;
|
||||
int layer_width, layer_height;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimp_image_floating_sel (gimage);
|
||||
|
||||
|
@ -459,6 +466,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1998,8 +2007,10 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2018,6 +2029,8 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
|
@ -2030,6 +2043,9 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2069,8 +2085,10 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "gimpimageP.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -347,6 +348,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
g_assert (new_width > 0 && new_height > 0);
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
|
@ -395,6 +398,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -408,6 +413,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
int old_width, old_height;
|
||||
int layer_width, layer_height;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimp_image_floating_sel (gimage);
|
||||
|
||||
|
@ -459,6 +466,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1998,8 +2007,10 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2018,6 +2029,8 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
|
@ -2030,6 +2043,9 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2069,8 +2085,10 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "gimpimageP.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -347,6 +348,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
g_assert (new_width > 0 && new_height > 0);
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
|
@ -395,6 +398,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -408,6 +413,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
int old_width, old_height;
|
||||
int layer_width, layer_height;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimp_image_floating_sel (gimage);
|
||||
|
||||
|
@ -459,6 +466,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1998,8 +2007,10 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2018,6 +2029,8 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
|
@ -2030,6 +2043,9 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2069,8 +2085,10 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -118,6 +118,7 @@ gdisplay_new (GimpImage *gimage,
|
|||
gdisp->draw_cursor = FALSE;
|
||||
gdisp->proximity = FALSE;
|
||||
gdisp->have_cursor = FALSE;
|
||||
gdisp->using_override_cursor = FALSE;
|
||||
|
||||
gdisp->progressid = FALSE;
|
||||
|
||||
|
@ -384,6 +385,8 @@ idlerender_callback (gpointer data)
|
|||
{
|
||||
/* FINISHED */
|
||||
gdisp->idle_render.active = FALSE;
|
||||
/* gdisplay_remove_override_cursor (gdisp);*/
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -400,6 +403,8 @@ gdisplay_idlerender_init (GDisplay *gdisp)
|
|||
GSList *list;
|
||||
GArea *ga, *new_ga;
|
||||
|
||||
/* gdisplay_install_override_cursor(gdisp, GDK_CIRCLE); */
|
||||
|
||||
/* We need to merge the IdleRender's and the GDisplay's update_areas list
|
||||
to keep track of which of the updates have been flushed and hence need
|
||||
to be drawn. */
|
||||
|
@ -1305,11 +1310,49 @@ gdisplay_install_tool_cursor (GDisplay *gdisp,
|
|||
if (gdisp->current_cursor != cursor_type)
|
||||
{
|
||||
gdisp->current_cursor = cursor_type;
|
||||
if (!gdisp->using_override_cursor)
|
||||
{
|
||||
change_win_cursor (gdisp->canvas->window, cursor_type);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* install an override-cursor on gdisplay... */
|
||||
void
|
||||
gdisplay_install_override_cursor (GDisplay *gdisp,
|
||||
GdkCursorType cursor_type)
|
||||
{
|
||||
if ((!gdisp->using_override_cursor) ||
|
||||
(
|
||||
(gdisp->using_override_cursor) &&
|
||||
(gdisp->override_cursor != cursor_type)
|
||||
)
|
||||
)
|
||||
{
|
||||
gdisp->override_cursor = cursor_type;
|
||||
gdisp->using_override_cursor = TRUE;
|
||||
change_win_cursor (gdisp->canvas->window, cursor_type);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* remove an override-cursor from gdisplay... */
|
||||
void
|
||||
gdisplay_remove_override_cursor (GDisplay *gdisp)
|
||||
{
|
||||
if (gdisp->using_override_cursor)
|
||||
{
|
||||
gdisp->using_override_cursor = FALSE;
|
||||
change_win_cursor (gdisp->canvas->window, gdisp->current_cursor);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_warning ("Tried to remove override-cursor from un-overridden gdisp.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gdisplay_remove_tool_cursor (GDisplay *gdisp)
|
||||
{
|
||||
|
|
|
@ -127,11 +127,13 @@ struct _GDisplay
|
|||
GSList *display_areas; /* Display areas list */
|
||||
|
||||
GdkCursorType current_cursor; /* Currently installed cursor */
|
||||
GdkCursorType override_cursor; /* Overriding cursor (ie. hourglass) */
|
||||
|
||||
short draw_cursor; /* should we draw software cursor ? */
|
||||
short draw_cursor; /* should we draw software cursor ? */
|
||||
short using_override_cursor; /* is the cursor overridden? (ie. hourglass)*/
|
||||
int cursor_x; /* software cursor X value */
|
||||
int cursor_y; /* software cursor Y value */
|
||||
short proximity; /* is a device in proximity of gdisplay ? */
|
||||
short proximity; /* is a device in proximity of gdisplay ? */
|
||||
short have_cursor; /* is cursor currently drawn ? */
|
||||
|
||||
IdleRenderStruct idle_render; /* state of this gdisplay's render thread */
|
||||
|
@ -154,6 +156,8 @@ void gdisplay_untransform_coords_f (GDisplay *, double, double, double *
|
|||
double *, int);
|
||||
void gdisplay_install_tool_cursor (GDisplay *, GdkCursorType);
|
||||
void gdisplay_remove_tool_cursor (GDisplay *);
|
||||
void gdisplay_install_override_cursor(GDisplay *, GdkCursorType);
|
||||
void gdisplay_remove_override_cursor (GDisplay *);
|
||||
void gdisplay_set_menu_sensitivity (GDisplay *);
|
||||
void gdisplay_expose_area (GDisplay *, int, int, int, int);
|
||||
void gdisplay_expose_guide (GDisplay *, Guide *);
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include "gdk/gdkkeysyms.h"
|
||||
#include "appenv.h"
|
||||
#include "actionarea.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
|
@ -638,12 +639,15 @@ crop_image (GImage *gimage,
|
|||
int off_x, off_y;
|
||||
int doff_x, doff_y;
|
||||
|
||||
|
||||
width = x2 - x1;
|
||||
height = y2 - y1;
|
||||
|
||||
/* Make sure new width and height are non-zero */
|
||||
if (width && height)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
if (options.layer_only)
|
||||
{
|
||||
undo_push_group_start (gimage, LAYER_RESIZE_UNDO);
|
||||
|
@ -747,6 +751,7 @@ crop_image (GImage *gimage,
|
|||
gdisplays_update_full (gimage);
|
||||
gdisplays_shrink_wrap (gimage);
|
||||
}
|
||||
gimp_remove_busy_cursors();
|
||||
gdisplays_flush ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,9 @@
|
|||
*/
|
||||
#include "appenv.h"
|
||||
#include "cursorutil.h"
|
||||
#include "gdisplay.h" /* for gdisplay_*_override_cursor() */
|
||||
|
||||
extern GSList* display_list; /* It's in gdisplay.c, FYI */
|
||||
|
||||
void
|
||||
change_win_cursor (win, cursortype)
|
||||
|
@ -37,4 +40,33 @@ unset_win_cursor (win)
|
|||
gdk_window_set_cursor (win, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_add_busy_cursors (void)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
|
||||
while (list)
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
gdisplay_install_override_cursor(gdisp, GDK_WATCH);
|
||||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
gdk_flush();
|
||||
}
|
||||
|
||||
void
|
||||
gimp_remove_busy_cursors (void)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
|
||||
while (list)
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
gdisplay_remove_override_cursor(gdisp);
|
||||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,10 @@
|
|||
#ifndef __CURSORUTIL_H__
|
||||
#define __CURSORUTIL_H__
|
||||
|
||||
void change_win_cursor(GdkWindow *, GdkCursorType);
|
||||
void unset_win_cursor(GdkWindow *);
|
||||
void change_win_cursor (GdkWindow *, GdkCursorType);
|
||||
void unset_win_cursor (GdkWindow *);
|
||||
|
||||
void gimp_add_busy_cursors (void);
|
||||
void gimp_remove_busy_cursors (void);
|
||||
|
||||
#endif /* __CURSORUTIL_H__ */
|
||||
|
|
|
@ -118,6 +118,7 @@ gdisplay_new (GimpImage *gimage,
|
|||
gdisp->draw_cursor = FALSE;
|
||||
gdisp->proximity = FALSE;
|
||||
gdisp->have_cursor = FALSE;
|
||||
gdisp->using_override_cursor = FALSE;
|
||||
|
||||
gdisp->progressid = FALSE;
|
||||
|
||||
|
@ -384,6 +385,8 @@ idlerender_callback (gpointer data)
|
|||
{
|
||||
/* FINISHED */
|
||||
gdisp->idle_render.active = FALSE;
|
||||
/* gdisplay_remove_override_cursor (gdisp);*/
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -400,6 +403,8 @@ gdisplay_idlerender_init (GDisplay *gdisp)
|
|||
GSList *list;
|
||||
GArea *ga, *new_ga;
|
||||
|
||||
/* gdisplay_install_override_cursor(gdisp, GDK_CIRCLE); */
|
||||
|
||||
/* We need to merge the IdleRender's and the GDisplay's update_areas list
|
||||
to keep track of which of the updates have been flushed and hence need
|
||||
to be drawn. */
|
||||
|
@ -1305,11 +1310,49 @@ gdisplay_install_tool_cursor (GDisplay *gdisp,
|
|||
if (gdisp->current_cursor != cursor_type)
|
||||
{
|
||||
gdisp->current_cursor = cursor_type;
|
||||
if (!gdisp->using_override_cursor)
|
||||
{
|
||||
change_win_cursor (gdisp->canvas->window, cursor_type);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* install an override-cursor on gdisplay... */
|
||||
void
|
||||
gdisplay_install_override_cursor (GDisplay *gdisp,
|
||||
GdkCursorType cursor_type)
|
||||
{
|
||||
if ((!gdisp->using_override_cursor) ||
|
||||
(
|
||||
(gdisp->using_override_cursor) &&
|
||||
(gdisp->override_cursor != cursor_type)
|
||||
)
|
||||
)
|
||||
{
|
||||
gdisp->override_cursor = cursor_type;
|
||||
gdisp->using_override_cursor = TRUE;
|
||||
change_win_cursor (gdisp->canvas->window, cursor_type);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* remove an override-cursor from gdisplay... */
|
||||
void
|
||||
gdisplay_remove_override_cursor (GDisplay *gdisp)
|
||||
{
|
||||
if (gdisp->using_override_cursor)
|
||||
{
|
||||
gdisp->using_override_cursor = FALSE;
|
||||
change_win_cursor (gdisp->canvas->window, gdisp->current_cursor);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_warning ("Tried to remove override-cursor from un-overridden gdisp.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gdisplay_remove_tool_cursor (GDisplay *gdisp)
|
||||
{
|
||||
|
|
|
@ -127,11 +127,13 @@ struct _GDisplay
|
|||
GSList *display_areas; /* Display areas list */
|
||||
|
||||
GdkCursorType current_cursor; /* Currently installed cursor */
|
||||
GdkCursorType override_cursor; /* Overriding cursor (ie. hourglass) */
|
||||
|
||||
short draw_cursor; /* should we draw software cursor ? */
|
||||
short draw_cursor; /* should we draw software cursor ? */
|
||||
short using_override_cursor; /* is the cursor overridden? (ie. hourglass)*/
|
||||
int cursor_x; /* software cursor X value */
|
||||
int cursor_y; /* software cursor Y value */
|
||||
short proximity; /* is a device in proximity of gdisplay ? */
|
||||
short proximity; /* is a device in proximity of gdisplay ? */
|
||||
short have_cursor; /* is cursor currently drawn ? */
|
||||
|
||||
IdleRenderStruct idle_render; /* state of this gdisplay's render thread */
|
||||
|
@ -154,6 +156,8 @@ void gdisplay_untransform_coords_f (GDisplay *, double, double, double *
|
|||
double *, int);
|
||||
void gdisplay_install_tool_cursor (GDisplay *, GdkCursorType);
|
||||
void gdisplay_remove_tool_cursor (GDisplay *);
|
||||
void gdisplay_install_override_cursor(GDisplay *, GdkCursorType);
|
||||
void gdisplay_remove_override_cursor (GDisplay *);
|
||||
void gdisplay_set_menu_sensitivity (GDisplay *);
|
||||
void gdisplay_expose_area (GDisplay *, int, int, int, int);
|
||||
void gdisplay_expose_guide (GDisplay *, Guide *);
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <math.h>
|
||||
#include "appenv.h"
|
||||
#include "boundary.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "edit_selection.h"
|
||||
|
@ -463,6 +464,8 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
GimpDrawable *drawable;
|
||||
int use_offsets;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
fuzzy_sel = (FuzzySelect *) tool->private;
|
||||
gdisp = (GDisplay *) gdisp_ptr;
|
||||
drawable = gimage_active_drawable (gdisp->gimage);
|
||||
|
@ -501,6 +504,8 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
/* free boundary segments */
|
||||
g_free (bsegs);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return segs;
|
||||
}
|
||||
|
||||
|
|
|
@ -118,6 +118,7 @@ gdisplay_new (GimpImage *gimage,
|
|||
gdisp->draw_cursor = FALSE;
|
||||
gdisp->proximity = FALSE;
|
||||
gdisp->have_cursor = FALSE;
|
||||
gdisp->using_override_cursor = FALSE;
|
||||
|
||||
gdisp->progressid = FALSE;
|
||||
|
||||
|
@ -384,6 +385,8 @@ idlerender_callback (gpointer data)
|
|||
{
|
||||
/* FINISHED */
|
||||
gdisp->idle_render.active = FALSE;
|
||||
/* gdisplay_remove_override_cursor (gdisp);*/
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -400,6 +403,8 @@ gdisplay_idlerender_init (GDisplay *gdisp)
|
|||
GSList *list;
|
||||
GArea *ga, *new_ga;
|
||||
|
||||
/* gdisplay_install_override_cursor(gdisp, GDK_CIRCLE); */
|
||||
|
||||
/* We need to merge the IdleRender's and the GDisplay's update_areas list
|
||||
to keep track of which of the updates have been flushed and hence need
|
||||
to be drawn. */
|
||||
|
@ -1305,11 +1310,49 @@ gdisplay_install_tool_cursor (GDisplay *gdisp,
|
|||
if (gdisp->current_cursor != cursor_type)
|
||||
{
|
||||
gdisp->current_cursor = cursor_type;
|
||||
if (!gdisp->using_override_cursor)
|
||||
{
|
||||
change_win_cursor (gdisp->canvas->window, cursor_type);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* install an override-cursor on gdisplay... */
|
||||
void
|
||||
gdisplay_install_override_cursor (GDisplay *gdisp,
|
||||
GdkCursorType cursor_type)
|
||||
{
|
||||
if ((!gdisp->using_override_cursor) ||
|
||||
(
|
||||
(gdisp->using_override_cursor) &&
|
||||
(gdisp->override_cursor != cursor_type)
|
||||
)
|
||||
)
|
||||
{
|
||||
gdisp->override_cursor = cursor_type;
|
||||
gdisp->using_override_cursor = TRUE;
|
||||
change_win_cursor (gdisp->canvas->window, cursor_type);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* remove an override-cursor from gdisplay... */
|
||||
void
|
||||
gdisplay_remove_override_cursor (GDisplay *gdisp)
|
||||
{
|
||||
if (gdisp->using_override_cursor)
|
||||
{
|
||||
gdisp->using_override_cursor = FALSE;
|
||||
change_win_cursor (gdisp->canvas->window, gdisp->current_cursor);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_warning ("Tried to remove override-cursor from un-overridden gdisp.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gdisplay_remove_tool_cursor (GDisplay *gdisp)
|
||||
{
|
||||
|
|
|
@ -127,11 +127,13 @@ struct _GDisplay
|
|||
GSList *display_areas; /* Display areas list */
|
||||
|
||||
GdkCursorType current_cursor; /* Currently installed cursor */
|
||||
GdkCursorType override_cursor; /* Overriding cursor (ie. hourglass) */
|
||||
|
||||
short draw_cursor; /* should we draw software cursor ? */
|
||||
short draw_cursor; /* should we draw software cursor ? */
|
||||
short using_override_cursor; /* is the cursor overridden? (ie. hourglass)*/
|
||||
int cursor_x; /* software cursor X value */
|
||||
int cursor_y; /* software cursor Y value */
|
||||
short proximity; /* is a device in proximity of gdisplay ? */
|
||||
short proximity; /* is a device in proximity of gdisplay ? */
|
||||
short have_cursor; /* is cursor currently drawn ? */
|
||||
|
||||
IdleRenderStruct idle_render; /* state of this gdisplay's render thread */
|
||||
|
@ -154,6 +156,8 @@ void gdisplay_untransform_coords_f (GDisplay *, double, double, double *
|
|||
double *, int);
|
||||
void gdisplay_install_tool_cursor (GDisplay *, GdkCursorType);
|
||||
void gdisplay_remove_tool_cursor (GDisplay *);
|
||||
void gdisplay_install_override_cursor(GDisplay *, GdkCursorType);
|
||||
void gdisplay_remove_override_cursor (GDisplay *);
|
||||
void gdisplay_set_menu_sensitivity (GDisplay *);
|
||||
void gdisplay_expose_area (GDisplay *, int, int, int, int);
|
||||
void gdisplay_expose_guide (GDisplay *, Guide *);
|
||||
|
|
|
@ -245,6 +245,8 @@ gimage_resize_invoker (Argument *args)
|
|||
int new_width, new_height;
|
||||
int offx, offy;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
success = TRUE;
|
||||
if (success)
|
||||
{
|
||||
|
@ -269,6 +271,8 @@ gimage_resize_invoker (Argument *args)
|
|||
if (success)
|
||||
gimage_resize (gimage, new_width, new_height, offx, offy);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return procedural_db_return_args (&gimage_resize_proc, success);
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* 99/01/10 - Hourglass... [Adam]
|
||||
*
|
||||
* 98/07/25 - Convert-to-indexed now remembers the last invocation's
|
||||
* settings. Also, GRAY->INDEXED more flexible. [Adam]
|
||||
*
|
||||
|
@ -70,6 +72,7 @@
|
|||
#include "appenv.h"
|
||||
#include "actionarea.h"
|
||||
#include "convert.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "fsdither.h"
|
||||
|
@ -734,6 +737,8 @@ convert_image (GImage *gimage,
|
|||
new_layer_type = RGBA_GIMAGE;
|
||||
new_layer_bytes = 4;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimage_floating_sel (gimage);
|
||||
|
||||
|
@ -913,6 +918,8 @@ convert_image (GImage *gimage,
|
|||
gdisplays_update_full (gimage);
|
||||
|
||||
gimp_image_colormap_changed (gimage, -1);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "gimpimageP.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -347,6 +348,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
Layer *floating_layer;
|
||||
GSList *list;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
g_assert (new_width > 0 && new_height > 0);
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
|
@ -395,6 +398,8 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -408,6 +413,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
int old_width, old_height;
|
||||
int layer_width, layer_height;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Get the floating layer if one exists */
|
||||
floating_layer = gimp_image_floating_sel (gimage);
|
||||
|
||||
|
@ -459,6 +466,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
floating_sel_rigor (floating_layer, TRUE);
|
||||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
@ -1998,8 +2007,10 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2018,6 +2029,8 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
GSList *merge_list = NULL;
|
||||
Layer *layer;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
layer_list = gimage->layers;
|
||||
while (layer_list)
|
||||
{
|
||||
|
@ -2030,6 +2043,9 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
@ -2069,8 +2085,10 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
|
||||
if (merge_list && merge_list->next)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "blend.h"
|
||||
#include "brush_select.h"
|
||||
#include "buildmenu.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "errors.h"
|
||||
|
@ -788,6 +789,8 @@ blend (GImage *gimage,
|
|||
int bytes;
|
||||
int x1, y1, x2, y2;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
has_selection = drawable_mask_bounds (drawable, &x1, &y1, &x2, &y2);
|
||||
|
||||
has_alpha = drawable_has_alpha (drawable);
|
||||
|
@ -819,6 +822,8 @@ blend (GImage *gimage,
|
|||
|
||||
/* free the temporary buffer */
|
||||
tile_manager_destroy (buf_tiles);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "appenv.h"
|
||||
#include "brush_select.h"
|
||||
#include "bucket_fill.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "fuzzy_select.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -460,6 +461,8 @@ bucket_fill (gimage, drawable, fill_mode, paint_mode,
|
|||
pat_buf = pattern->mask;
|
||||
}
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
bytes = drawable_bytes (drawable);
|
||||
has_alpha = drawable_has_alpha (drawable);
|
||||
|
||||
|
@ -533,6 +536,8 @@ bucket_fill (gimage, drawable, fill_mode, paint_mode,
|
|||
|
||||
if (new_buf)
|
||||
temp_buf_free (pat_buf);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include "gdk/gdkkeysyms.h"
|
||||
#include "appenv.h"
|
||||
#include "actionarea.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
|
@ -638,12 +639,15 @@ crop_image (GImage *gimage,
|
|||
int off_x, off_y;
|
||||
int doff_x, doff_y;
|
||||
|
||||
|
||||
width = x2 - x1;
|
||||
height = y2 - y1;
|
||||
|
||||
/* Make sure new width and height are non-zero */
|
||||
if (width && height)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
if (options.layer_only)
|
||||
{
|
||||
undo_push_group_start (gimage, LAYER_RESIZE_UNDO);
|
||||
|
@ -747,6 +751,7 @@ crop_image (GImage *gimage,
|
|||
gdisplays_update_full (gimage);
|
||||
gdisplays_shrink_wrap (gimage);
|
||||
}
|
||||
gimp_remove_busy_cursors();
|
||||
gdisplays_flush ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <math.h>
|
||||
#include "appenv.h"
|
||||
#include "boundary.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "edit_selection.h"
|
||||
|
@ -463,6 +464,8 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
GimpDrawable *drawable;
|
||||
int use_offsets;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
fuzzy_sel = (FuzzySelect *) tool->private;
|
||||
gdisp = (GDisplay *) gdisp_ptr;
|
||||
drawable = gimage_active_drawable (gdisp->gimage);
|
||||
|
@ -501,6 +504,8 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
/* free boundary segments */
|
||||
g_free (bsegs);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return segs;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "blend.h"
|
||||
#include "brush_select.h"
|
||||
#include "buildmenu.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "errors.h"
|
||||
|
@ -788,6 +789,8 @@ blend (GImage *gimage,
|
|||
int bytes;
|
||||
int x1, y1, x2, y2;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
has_selection = drawable_mask_bounds (drawable, &x1, &y1, &x2, &y2);
|
||||
|
||||
has_alpha = drawable_has_alpha (drawable);
|
||||
|
@ -819,6 +822,8 @@ blend (GImage *gimage,
|
|||
|
||||
/* free the temporary buffer */
|
||||
tile_manager_destroy (buf_tiles);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include "appenv.h"
|
||||
#include "brush_select.h"
|
||||
#include "bucket_fill.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "fuzzy_select.h"
|
||||
#include "gdisplay.h"
|
||||
|
@ -460,6 +461,8 @@ bucket_fill (gimage, drawable, fill_mode, paint_mode,
|
|||
pat_buf = pattern->mask;
|
||||
}
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
bytes = drawable_bytes (drawable);
|
||||
has_alpha = drawable_has_alpha (drawable);
|
||||
|
||||
|
@ -533,6 +536,8 @@ bucket_fill (gimage, drawable, fill_mode, paint_mode,
|
|||
|
||||
if (new_buf)
|
||||
temp_buf_free (pat_buf);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
#include "gdk/gdkkeysyms.h"
|
||||
#include "appenv.h"
|
||||
#include "actionarea.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "floating_sel.h"
|
||||
|
@ -638,12 +639,15 @@ crop_image (GImage *gimage,
|
|||
int off_x, off_y;
|
||||
int doff_x, doff_y;
|
||||
|
||||
|
||||
width = x2 - x1;
|
||||
height = y2 - y1;
|
||||
|
||||
/* Make sure new width and height are non-zero */
|
||||
if (width && height)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
if (options.layer_only)
|
||||
{
|
||||
undo_push_group_start (gimage, LAYER_RESIZE_UNDO);
|
||||
|
@ -747,6 +751,7 @@ crop_image (GImage *gimage,
|
|||
gdisplays_update_full (gimage);
|
||||
gdisplays_shrink_wrap (gimage);
|
||||
}
|
||||
gimp_remove_busy_cursors();
|
||||
gdisplays_flush ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <math.h>
|
||||
#include "appenv.h"
|
||||
#include "boundary.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "edit_selection.h"
|
||||
|
@ -463,6 +464,8 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
GimpDrawable *drawable;
|
||||
int use_offsets;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
fuzzy_sel = (FuzzySelect *) tool->private;
|
||||
gdisp = (GDisplay *) gdisp_ptr;
|
||||
drawable = gimage_active_drawable (gdisp->gimage);
|
||||
|
@ -501,6 +504,8 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
/* free boundary segments */
|
||||
g_free (bsegs);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return segs;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <math.h>
|
||||
#include "appenv.h"
|
||||
#include "boundary.h"
|
||||
#include "cursorutil.h"
|
||||
#include "draw_core.h"
|
||||
#include "drawable.h"
|
||||
#include "edit_selection.h"
|
||||
|
@ -463,6 +464,8 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
GimpDrawable *drawable;
|
||||
int use_offsets;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
fuzzy_sel = (FuzzySelect *) tool->private;
|
||||
gdisp = (GDisplay *) gdisp_ptr;
|
||||
drawable = gimage_active_drawable (gdisp->gimage);
|
||||
|
@ -501,6 +504,8 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
/* free boundary segments */
|
||||
g_free (bsegs);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return segs;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <math.h>
|
||||
#include "appenv.h"
|
||||
#include "actionarea.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "errors.h"
|
||||
#include "floating_sel.h"
|
||||
|
@ -343,6 +344,8 @@ transform_core_doit (tool, gdisp_ptr)
|
|||
int new_layer;
|
||||
int i, x, y;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
gdisp = (GDisplay *) gdisp_ptr;
|
||||
transform_core = (TransformCore *) tool->private;
|
||||
|
||||
|
@ -427,6 +430,9 @@ transform_core_doit (tool, gdisp_ptr)
|
|||
gdisp->disp_width, gdisp->disp_height);
|
||||
}
|
||||
}
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
gdisplays_flush ();
|
||||
|
||||
transform_core_reset (tool, gdisp_ptr);
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#include <math.h>
|
||||
#include "appenv.h"
|
||||
#include "actionarea.h"
|
||||
#include "cursorutil.h"
|
||||
#include "drawable.h"
|
||||
#include "errors.h"
|
||||
#include "floating_sel.h"
|
||||
|
@ -343,6 +344,8 @@ transform_core_doit (tool, gdisp_ptr)
|
|||
int new_layer;
|
||||
int i, x, y;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
gdisp = (GDisplay *) gdisp_ptr;
|
||||
transform_core = (TransformCore *) tool->private;
|
||||
|
||||
|
@ -427,6 +430,9 @@ transform_core_doit (tool, gdisp_ptr)
|
|||
gdisp->disp_width, gdisp->disp_height);
|
||||
}
|
||||
}
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
gdisplays_flush ();
|
||||
|
||||
transform_core_reset (tool, gdisp_ptr);
|
||||
|
|
|
@ -17,6 +17,9 @@
|
|||
*/
|
||||
#include "appenv.h"
|
||||
#include "cursorutil.h"
|
||||
#include "gdisplay.h" /* for gdisplay_*_override_cursor() */
|
||||
|
||||
extern GSList* display_list; /* It's in gdisplay.c, FYI */
|
||||
|
||||
void
|
||||
change_win_cursor (win, cursortype)
|
||||
|
@ -37,4 +40,33 @@ unset_win_cursor (win)
|
|||
gdk_window_set_cursor (win, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_add_busy_cursors (void)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
|
||||
while (list)
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
gdisplay_install_override_cursor(gdisp, GDK_WATCH);
|
||||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
gdk_flush();
|
||||
}
|
||||
|
||||
void
|
||||
gimp_remove_busy_cursors (void)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
|
||||
while (list)
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
gdisplay_remove_override_cursor(gdisp);
|
||||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,7 +18,10 @@
|
|||
#ifndef __CURSORUTIL_H__
|
||||
#define __CURSORUTIL_H__
|
||||
|
||||
void change_win_cursor(GdkWindow *, GdkCursorType);
|
||||
void unset_win_cursor(GdkWindow *);
|
||||
void change_win_cursor (GdkWindow *, GdkCursorType);
|
||||
void unset_win_cursor (GdkWindow *);
|
||||
|
||||
void gimp_add_busy_cursors (void);
|
||||
void gimp_remove_busy_cursors (void);
|
||||
|
||||
#endif /* __CURSORUTIL_H__ */
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <glib.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "cursorutil.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gimage.h"
|
||||
#include "gimage_mask.h"
|
||||
|
@ -300,6 +301,8 @@ xcf_load_invoker (Argument *args)
|
|||
int success;
|
||||
char id[14];
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
gimage = NULL;
|
||||
|
||||
success = FALSE;
|
||||
|
@ -357,6 +360,8 @@ xcf_load_invoker (Argument *args)
|
|||
if (success)
|
||||
return_args[1].value.pdb_int = pdb_image_to_id(gimage);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
||||
|
@ -369,6 +374,8 @@ xcf_save_invoker (Argument *args)
|
|||
char *filename;
|
||||
int success;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
success = FALSE;
|
||||
|
||||
gimage = gimage_get_ID (args[1].value.pdb_int);
|
||||
|
@ -400,6 +407,8 @@ xcf_save_invoker (Argument *args)
|
|||
|
||||
return_args = procedural_db_return_args (&xcf_plug_in_save_proc.db_info, success);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <glib.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include "cursorutil.h"
|
||||
#include "floating_sel.h"
|
||||
#include "gimage.h"
|
||||
#include "gimage_mask.h"
|
||||
|
@ -300,6 +301,8 @@ xcf_load_invoker (Argument *args)
|
|||
int success;
|
||||
char id[14];
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
gimage = NULL;
|
||||
|
||||
success = FALSE;
|
||||
|
@ -357,6 +360,8 @@ xcf_load_invoker (Argument *args)
|
|||
if (success)
|
||||
return_args[1].value.pdb_int = pdb_image_to_id(gimage);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
||||
|
@ -369,6 +374,8 @@ xcf_save_invoker (Argument *args)
|
|||
char *filename;
|
||||
int success;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
success = FALSE;
|
||||
|
||||
gimage = gimage_get_ID (args[1].value.pdb_int);
|
||||
|
@ -400,6 +407,8 @@ xcf_save_invoker (Argument *args)
|
|||
|
||||
return_args = procedural_db_return_args (&xcf_plug_in_save_proc.db_info, success);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue