mirror of
https://gitlab.gnome.org/GNOME/gimp
synced 2024-10-19 22:34:37 +00:00
app/blend.c app/bucket_fill.c app/convert.c app/crop.c app/cursorutil.c
Sun Jan 17 16:56:25 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/dialog_handler.c app/dialog_handler.h app/fuzzy_select.c app/gdisplay.c app/gimage_cmds.c app/gimpimage.c app/scroll.c app/transform_core.c app/xcf.c Hourglasses also apply to all registered dialogs. Hourglasses added in a couple more important places. New hack lets hourglasses be added and automagically removed again when gimp/gtk re-enters the idle loop.
This commit is contained in:
parent
1ee0165678
commit
64a6d4571d
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
|||
Sun Jan 17 16:56:25 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/dialog_handler.c
|
||||
app/dialog_handler.h app/fuzzy_select.c app/gdisplay.c
|
||||
app/gimage_cmds.c app/gimpimage.c app/scroll.c
|
||||
app/transform_core.c app/xcf.c
|
||||
|
||||
Hourglasses also apply to all registered dialogs. Hourglasses
|
||||
added in a couple more important places. New hack lets
|
||||
hourglasses be added and automagically removed again when
|
||||
gimp/gtk re-enters the idle loop.
|
||||
|
||||
Sat Jan 16 18:21:58 GMT 1999 Austin Donnelly <austin@greenend.org.uk>
|
||||
|
||||
* plug-ins/jpeg/jpeg.c: re-wrote the gimp-comment stuff so it
|
||||
|
|
|
@ -864,7 +864,7 @@ blend (GImage *gimage,
|
|||
/* free the temporary buffer */
|
||||
tile_manager_destroy (buf_tiles);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -537,7 +537,7 @@ bucket_fill (gimage, drawable, fill_mode, paint_mode,
|
|||
if (new_buf)
|
||||
temp_buf_free (pat_buf);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -919,7 +919,7 @@ convert_image (GImage *gimage,
|
|||
|
||||
gimp_image_colormap_changed (gimage, -1);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -864,7 +864,7 @@ blend (GImage *gimage,
|
|||
/* free the temporary buffer */
|
||||
tile_manager_destroy (buf_tiles);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -919,7 +919,7 @@ convert_image (GImage *gimage,
|
|||
|
||||
gimp_image_colormap_changed (gimage, -1);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -399,7 +399,7 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -458,6 +458,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
#warning NEED TO SCALE GUIDES ALSO
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
gimp_image_projection_realloc (gimage);
|
||||
|
||||
|
@ -467,7 +469,7 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -936,7 +938,8 @@ gimp_image_get_new_tattoo(GimpImage *image)
|
|||
}
|
||||
|
||||
void
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col){
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col)
|
||||
{
|
||||
g_return_if_fail (image);
|
||||
g_return_if_fail (col < image->num_cols);
|
||||
gtk_signal_emit (GTK_OBJECT(image),
|
||||
|
@ -1302,7 +1305,7 @@ gimp_image_construct (GimpImage *gimage, int x, int y, int w, int h)
|
|||
* has been written to the gimage raw image yet.
|
||||
*/
|
||||
gimage->construct_flag = 0;
|
||||
|
||||
|
||||
/* First, determine if the projection image needs to be
|
||||
* initialized--this is the case when there are no visible
|
||||
* layers that cover the entire canvas--either because layers
|
||||
|
@ -1394,6 +1397,8 @@ gimp_image_validate (TileManager *tm, Tile *tile)
|
|||
int x, y;
|
||||
int w, h;
|
||||
|
||||
gimp_add_busy_cursors_until_idle();
|
||||
|
||||
/* Get the gimage from the tilemanager */
|
||||
gimage = (GimpImage *) tile_manager_get_user_data (tm);
|
||||
|
||||
|
@ -2010,7 +2015,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2044,7 +2049,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2088,7 +2093,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -399,7 +399,7 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -458,6 +458,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
#warning NEED TO SCALE GUIDES ALSO
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
gimp_image_projection_realloc (gimage);
|
||||
|
||||
|
@ -467,7 +469,7 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -936,7 +938,8 @@ gimp_image_get_new_tattoo(GimpImage *image)
|
|||
}
|
||||
|
||||
void
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col){
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col)
|
||||
{
|
||||
g_return_if_fail (image);
|
||||
g_return_if_fail (col < image->num_cols);
|
||||
gtk_signal_emit (GTK_OBJECT(image),
|
||||
|
@ -1302,7 +1305,7 @@ gimp_image_construct (GimpImage *gimage, int x, int y, int w, int h)
|
|||
* has been written to the gimage raw image yet.
|
||||
*/
|
||||
gimage->construct_flag = 0;
|
||||
|
||||
|
||||
/* First, determine if the projection image needs to be
|
||||
* initialized--this is the case when there are no visible
|
||||
* layers that cover the entire canvas--either because layers
|
||||
|
@ -1394,6 +1397,8 @@ gimp_image_validate (TileManager *tm, Tile *tile)
|
|||
int x, y;
|
||||
int w, h;
|
||||
|
||||
gimp_add_busy_cursors_until_idle();
|
||||
|
||||
/* Get the gimage from the tilemanager */
|
||||
gimage = (GimpImage *) tile_manager_get_user_data (tm);
|
||||
|
||||
|
@ -2010,7 +2015,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2044,7 +2049,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2088,7 +2093,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -399,7 +399,7 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -458,6 +458,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
#warning NEED TO SCALE GUIDES ALSO
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
gimp_image_projection_realloc (gimage);
|
||||
|
||||
|
@ -467,7 +469,7 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -936,7 +938,8 @@ gimp_image_get_new_tattoo(GimpImage *image)
|
|||
}
|
||||
|
||||
void
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col){
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col)
|
||||
{
|
||||
g_return_if_fail (image);
|
||||
g_return_if_fail (col < image->num_cols);
|
||||
gtk_signal_emit (GTK_OBJECT(image),
|
||||
|
@ -1302,7 +1305,7 @@ gimp_image_construct (GimpImage *gimage, int x, int y, int w, int h)
|
|||
* has been written to the gimage raw image yet.
|
||||
*/
|
||||
gimage->construct_flag = 0;
|
||||
|
||||
|
||||
/* First, determine if the projection image needs to be
|
||||
* initialized--this is the case when there are no visible
|
||||
* layers that cover the entire canvas--either because layers
|
||||
|
@ -1394,6 +1397,8 @@ gimp_image_validate (TileManager *tm, Tile *tile)
|
|||
int x, y;
|
||||
int w, h;
|
||||
|
||||
gimp_add_busy_cursors_until_idle();
|
||||
|
||||
/* Get the gimage from the tilemanager */
|
||||
gimage = (GimpImage *) tile_manager_get_user_data (tm);
|
||||
|
||||
|
@ -2010,7 +2015,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2044,7 +2049,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2088,7 +2093,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -399,7 +399,7 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -458,6 +458,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
#warning NEED TO SCALE GUIDES ALSO
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
gimp_image_projection_realloc (gimage);
|
||||
|
||||
|
@ -467,7 +469,7 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -936,7 +938,8 @@ gimp_image_get_new_tattoo(GimpImage *image)
|
|||
}
|
||||
|
||||
void
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col){
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col)
|
||||
{
|
||||
g_return_if_fail (image);
|
||||
g_return_if_fail (col < image->num_cols);
|
||||
gtk_signal_emit (GTK_OBJECT(image),
|
||||
|
@ -1302,7 +1305,7 @@ gimp_image_construct (GimpImage *gimage, int x, int y, int w, int h)
|
|||
* has been written to the gimage raw image yet.
|
||||
*/
|
||||
gimage->construct_flag = 0;
|
||||
|
||||
|
||||
/* First, determine if the projection image needs to be
|
||||
* initialized--this is the case when there are no visible
|
||||
* layers that cover the entire canvas--either because layers
|
||||
|
@ -1394,6 +1397,8 @@ gimp_image_validate (TileManager *tm, Tile *tile)
|
|||
int x, y;
|
||||
int w, h;
|
||||
|
||||
gimp_add_busy_cursors_until_idle();
|
||||
|
||||
/* Get the gimage from the tilemanager */
|
||||
gimage = (GimpImage *) tile_manager_get_user_data (tm);
|
||||
|
||||
|
@ -2010,7 +2015,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2044,7 +2049,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2088,7 +2093,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -399,7 +399,7 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -458,6 +458,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
#warning NEED TO SCALE GUIDES ALSO
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
gimp_image_projection_realloc (gimage);
|
||||
|
||||
|
@ -467,7 +469,7 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -936,7 +938,8 @@ gimp_image_get_new_tattoo(GimpImage *image)
|
|||
}
|
||||
|
||||
void
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col){
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col)
|
||||
{
|
||||
g_return_if_fail (image);
|
||||
g_return_if_fail (col < image->num_cols);
|
||||
gtk_signal_emit (GTK_OBJECT(image),
|
||||
|
@ -1302,7 +1305,7 @@ gimp_image_construct (GimpImage *gimage, int x, int y, int w, int h)
|
|||
* has been written to the gimage raw image yet.
|
||||
*/
|
||||
gimage->construct_flag = 0;
|
||||
|
||||
|
||||
/* First, determine if the projection image needs to be
|
||||
* initialized--this is the case when there are no visible
|
||||
* layers that cover the entire canvas--either because layers
|
||||
|
@ -1394,6 +1397,8 @@ gimp_image_validate (TileManager *tm, Tile *tile)
|
|||
int x, y;
|
||||
int w, h;
|
||||
|
||||
gimp_add_busy_cursors_until_idle();
|
||||
|
||||
/* Get the gimage from the tilemanager */
|
||||
gimage = (GimpImage *) tile_manager_get_user_data (tm);
|
||||
|
||||
|
@ -2010,7 +2015,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2044,7 +2049,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2088,7 +2093,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -399,7 +399,7 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -458,6 +458,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
#warning NEED TO SCALE GUIDES ALSO
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
gimp_image_projection_realloc (gimage);
|
||||
|
||||
|
@ -467,7 +469,7 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -936,7 +938,8 @@ gimp_image_get_new_tattoo(GimpImage *image)
|
|||
}
|
||||
|
||||
void
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col){
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col)
|
||||
{
|
||||
g_return_if_fail (image);
|
||||
g_return_if_fail (col < image->num_cols);
|
||||
gtk_signal_emit (GTK_OBJECT(image),
|
||||
|
@ -1302,7 +1305,7 @@ gimp_image_construct (GimpImage *gimage, int x, int y, int w, int h)
|
|||
* has been written to the gimage raw image yet.
|
||||
*/
|
||||
gimage->construct_flag = 0;
|
||||
|
||||
|
||||
/* First, determine if the projection image needs to be
|
||||
* initialized--this is the case when there are no visible
|
||||
* layers that cover the entire canvas--either because layers
|
||||
|
@ -1394,6 +1397,8 @@ gimp_image_validate (TileManager *tm, Tile *tile)
|
|||
int x, y;
|
||||
int w, h;
|
||||
|
||||
gimp_add_busy_cursors_until_idle();
|
||||
|
||||
/* Get the gimage from the tilemanager */
|
||||
gimage = (GimpImage *) tile_manager_get_user_data (tm);
|
||||
|
||||
|
@ -2010,7 +2015,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2044,7 +2049,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2088,7 +2093,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -399,7 +399,7 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -458,6 +458,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
#warning NEED TO SCALE GUIDES ALSO
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
gimp_image_projection_realloc (gimage);
|
||||
|
||||
|
@ -467,7 +469,7 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -936,7 +938,8 @@ gimp_image_get_new_tattoo(GimpImage *image)
|
|||
}
|
||||
|
||||
void
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col){
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col)
|
||||
{
|
||||
g_return_if_fail (image);
|
||||
g_return_if_fail (col < image->num_cols);
|
||||
gtk_signal_emit (GTK_OBJECT(image),
|
||||
|
@ -1302,7 +1305,7 @@ gimp_image_construct (GimpImage *gimage, int x, int y, int w, int h)
|
|||
* has been written to the gimage raw image yet.
|
||||
*/
|
||||
gimage->construct_flag = 0;
|
||||
|
||||
|
||||
/* First, determine if the projection image needs to be
|
||||
* initialized--this is the case when there are no visible
|
||||
* layers that cover the entire canvas--either because layers
|
||||
|
@ -1394,6 +1397,8 @@ gimp_image_validate (TileManager *tm, Tile *tile)
|
|||
int x, y;
|
||||
int w, h;
|
||||
|
||||
gimp_add_busy_cursors_until_idle();
|
||||
|
||||
/* Get the gimage from the tilemanager */
|
||||
gimage = (GimpImage *) tile_manager_get_user_data (tm);
|
||||
|
||||
|
@ -2010,7 +2015,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2044,7 +2049,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2088,7 +2093,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
|
@ -1605,8 +1605,6 @@ gdisplays_update_area (GimpImage* gimage,
|
|||
/* int x1, y1, x2, y2; */
|
||||
/* int count = 0; */
|
||||
|
||||
/* printf("GDUA%p:%d,%d:%dx%d ", gimage,x,y,w,h);fflush(stdout);*/
|
||||
|
||||
/* traverse the linked list of displays */
|
||||
while (list)
|
||||
{
|
||||
|
@ -1894,11 +1892,8 @@ gdisplay_reconnect (GDisplay *gdisp, GimpImage *gimage)
|
|||
|
||||
if (gdisp->idle_render.active)
|
||||
{
|
||||
printf(_("Deleted idlerendering gdisp %p...\n"), gdisp); fflush(stdout);
|
||||
printf(_("\tIdlerender stops now!\n")); fflush(stdout);
|
||||
gtk_idle_remove (gdisp->idle_render.idleid);
|
||||
gdisp->idle_render.active = FALSE;
|
||||
printf(_("\tDeletion finished.\n")); fflush(stdout);
|
||||
}
|
||||
|
||||
gimage_delete (gdisp->gimage);
|
||||
|
|
|
@ -751,7 +751,7 @@ crop_image (GImage *gimage,
|
|||
gdisplays_update_full (gimage);
|
||||
gdisplays_shrink_wrap (gimage);
|
||||
}
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,9 +17,13 @@
|
|||
*/
|
||||
#include "appenv.h"
|
||||
#include "cursorutil.h"
|
||||
#include "dialog_handler.h"
|
||||
#include "gdisplay.h" /* for gdisplay_*_override_cursor() */
|
||||
|
||||
|
||||
extern GSList* display_list; /* It's in gdisplay.c, FYI */
|
||||
static gboolean pending_removebusy = FALSE;
|
||||
|
||||
|
||||
void
|
||||
change_win_cursor (win, cursortype)
|
||||
|
@ -40,12 +44,25 @@ unset_win_cursor (win)
|
|||
gdk_window_set_cursor (win, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_add_busy_cursors_until_idle (void)
|
||||
{
|
||||
if (!pending_removebusy)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
gtk_idle_add_priority (GTK_PRIORITY_HIGH,
|
||||
gimp_remove_busy_cursors, NULL);
|
||||
pending_removebusy = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gimp_add_busy_cursors (void)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
|
||||
/* Canvases */
|
||||
while (list)
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
|
@ -53,15 +70,20 @@ gimp_add_busy_cursors (void)
|
|||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
/* Dialogs */
|
||||
dialog_idle_all();
|
||||
|
||||
gdk_flush();
|
||||
}
|
||||
|
||||
void
|
||||
gimp_remove_busy_cursors (void)
|
||||
|
||||
int
|
||||
gimp_remove_busy_cursors (gpointer data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
|
||||
/* Canvases */
|
||||
while (list)
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
|
@ -69,4 +91,11 @@ gimp_remove_busy_cursors (void)
|
|||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
/* Dialogs */
|
||||
dialog_unidle_all();
|
||||
|
||||
pending_removebusy = FALSE;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -21,7 +21,8 @@
|
|||
void change_win_cursor (GdkWindow *, GdkCursorType);
|
||||
void unset_win_cursor (GdkWindow *);
|
||||
|
||||
void gimp_add_busy_cursors (void);
|
||||
void gimp_remove_busy_cursors (void);
|
||||
void gimp_add_busy_cursors_until_idle (void);
|
||||
void gimp_add_busy_cursors (void);
|
||||
int gimp_remove_busy_cursors (gpointer);
|
||||
|
||||
#endif /* __CURSORUTIL_H__ */
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include <string.h>
|
||||
|
||||
#include "appenv.h"
|
||||
#include "cursorutil.h"
|
||||
#include "errors.h"
|
||||
#include "general.h"
|
||||
|
||||
|
@ -30,9 +31,9 @@
|
|||
|
||||
static GSList * active_dialogs = NULL; /* List of dialogs that have
|
||||
been created and are on
|
||||
screen (may be hiddenalready).
|
||||
screen (may be hidden already).
|
||||
*/
|
||||
static gint doing_update = FALSE; /* Prevent multiple keypresse
|
||||
static gint doing_update = FALSE; /* Prevent multiple keypresses
|
||||
from unsetting me.
|
||||
*/
|
||||
|
||||
|
@ -52,7 +53,7 @@ struct _dialog_state {
|
|||
};
|
||||
|
||||
/* This keeps track of the state the dialogs are in */
|
||||
/* ie howmany times we have pressed the tab key */
|
||||
/* ie how many times we have pressed the tab key */
|
||||
|
||||
typedef enum{
|
||||
SHOW_ALL,
|
||||
|
@ -65,8 +66,8 @@ static ShowState dialogs_showing = SHOW_ALL; /* Start off with all
|
|||
dialogs showing
|
||||
*/
|
||||
|
||||
static DIALOGSTATEP toolbox_shell = NULL; /* Copy of the shelll for the tool
|
||||
box this has special behavour
|
||||
static DIALOGSTATEP toolbox_shell = NULL; /* Copy of the shell for the tool
|
||||
box - this has special behaviour
|
||||
so is not on the normal list.
|
||||
*/
|
||||
/* Private */
|
||||
|
@ -139,6 +140,56 @@ dialog_hide_toolbox()
|
|||
|
||||
/* public */
|
||||
|
||||
/* Set hourglass cursor on all currently registered dialogs */
|
||||
|
||||
void
|
||||
dialog_idle_all()
|
||||
{
|
||||
GSList *list = active_dialogs;
|
||||
DIALOGSTATEP dstate;
|
||||
|
||||
while (list)
|
||||
{
|
||||
dstate = (DIALOGSTATEP) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
if(GTK_WIDGET_VISIBLE (dstate->d))
|
||||
{
|
||||
change_win_cursor (dstate->d->window, GDK_WATCH);
|
||||
}
|
||||
}
|
||||
|
||||
if (toolbox_shell && GTK_WIDGET_VISIBLE(toolbox_shell->d))
|
||||
{
|
||||
change_win_cursor (toolbox_shell->d->window, GDK_WATCH);
|
||||
}
|
||||
}
|
||||
|
||||
/* And remove the hourglass again. */
|
||||
|
||||
void
|
||||
dialog_unidle_all()
|
||||
{
|
||||
GSList *list = active_dialogs;
|
||||
DIALOGSTATEP dstate;
|
||||
|
||||
while (list)
|
||||
{
|
||||
dstate = (DIALOGSTATEP) list->data;
|
||||
list = g_slist_next (list);
|
||||
|
||||
if(GTK_WIDGET_VISIBLE (dstate->d))
|
||||
{
|
||||
unset_win_cursor (dstate->d->window);
|
||||
}
|
||||
}
|
||||
|
||||
if (toolbox_shell && GTK_WIDGET_VISIBLE(toolbox_shell->d))
|
||||
{
|
||||
unset_win_cursor (toolbox_shell->d->window);
|
||||
}
|
||||
}
|
||||
|
||||
/* Register a dialog that we can handle */
|
||||
|
||||
void
|
||||
|
@ -186,7 +237,7 @@ dialog_unregister(GtkWidget *dialog)
|
|||
*/
|
||||
|
||||
void
|
||||
dialog_toggle(gint leavetoolbox)
|
||||
dialog_toggle(void)
|
||||
{
|
||||
if(doing_update == FALSE)
|
||||
doing_update = TRUE;
|
||||
|
|
|
@ -20,9 +20,12 @@
|
|||
#ifndef __DIALOG_HANDLER_H_
|
||||
#define __DIALOG_HANDLER_H_
|
||||
|
||||
void dialog_register(GtkWidget *dialog);
|
||||
void dialog_register_toolbox(GtkWidget *dialog);
|
||||
void dialog_unregister(GtkWidget *dialog);
|
||||
void dialog_toggle();
|
||||
void dialog_register (GtkWidget *dialog);
|
||||
void dialog_register_toolbox (GtkWidget *dialog);
|
||||
void dialog_unregister (GtkWidget *dialog);
|
||||
void dialog_toggle (void);
|
||||
void dialog_idle_all (void);
|
||||
void dialog_unidle_all (void);
|
||||
|
||||
#endif /* __DIALOG_HANDLER_H_ */
|
||||
|
||||
|
|
|
@ -66,14 +66,10 @@ void
|
|||
start_grab_and_scroll (GDisplay *gdisp,
|
||||
GdkEventButton *bevent)
|
||||
{
|
||||
GdkCursor *cursor;
|
||||
|
||||
startx = bevent->x + gdisp->offset_x;
|
||||
starty = bevent->y + gdisp->offset_y;
|
||||
|
||||
cursor = gdk_cursor_new (GDK_FLEUR);
|
||||
gdk_window_set_cursor (gdisp->canvas->window, cursor);
|
||||
gdk_cursor_destroy (cursor);
|
||||
change_win_cursor(gdisp->canvas->window, GDK_FLEUR);
|
||||
}
|
||||
|
||||
|
||||
|
@ -81,11 +77,7 @@ void
|
|||
end_grab_and_scroll (GDisplay *gdisp,
|
||||
GdkEventButton *bevent)
|
||||
{
|
||||
GdkCursor *cursor;
|
||||
|
||||
cursor = gdk_cursor_new (gdisp->current_cursor);
|
||||
gdk_window_set_cursor (gdisp->canvas->window, cursor);
|
||||
gdk_cursor_destroy (cursor);
|
||||
change_win_cursor(gdisp->canvas->window, gdisp->current_cursor);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1605,8 +1605,6 @@ gdisplays_update_area (GimpImage* gimage,
|
|||
/* int x1, y1, x2, y2; */
|
||||
/* int count = 0; */
|
||||
|
||||
/* printf("GDUA%p:%d,%d:%dx%d ", gimage,x,y,w,h);fflush(stdout);*/
|
||||
|
||||
/* traverse the linked list of displays */
|
||||
while (list)
|
||||
{
|
||||
|
@ -1894,11 +1892,8 @@ gdisplay_reconnect (GDisplay *gdisp, GimpImage *gimage)
|
|||
|
||||
if (gdisp->idle_render.active)
|
||||
{
|
||||
printf(_("Deleted idlerendering gdisp %p...\n"), gdisp); fflush(stdout);
|
||||
printf(_("\tIdlerender stops now!\n")); fflush(stdout);
|
||||
gtk_idle_remove (gdisp->idle_render.idleid);
|
||||
gdisp->idle_render.active = FALSE;
|
||||
printf(_("\tDeletion finished.\n")); fflush(stdout);
|
||||
}
|
||||
|
||||
gimage_delete (gdisp->gimage);
|
||||
|
|
|
@ -66,14 +66,10 @@ void
|
|||
start_grab_and_scroll (GDisplay *gdisp,
|
||||
GdkEventButton *bevent)
|
||||
{
|
||||
GdkCursor *cursor;
|
||||
|
||||
startx = bevent->x + gdisp->offset_x;
|
||||
starty = bevent->y + gdisp->offset_y;
|
||||
|
||||
cursor = gdk_cursor_new (GDK_FLEUR);
|
||||
gdk_window_set_cursor (gdisp->canvas->window, cursor);
|
||||
gdk_cursor_destroy (cursor);
|
||||
change_win_cursor(gdisp->canvas->window, GDK_FLEUR);
|
||||
}
|
||||
|
||||
|
||||
|
@ -81,11 +77,7 @@ void
|
|||
end_grab_and_scroll (GDisplay *gdisp,
|
||||
GdkEventButton *bevent)
|
||||
{
|
||||
GdkCursor *cursor;
|
||||
|
||||
cursor = gdk_cursor_new (gdisp->current_cursor);
|
||||
gdk_window_set_cursor (gdisp->canvas->window, cursor);
|
||||
gdk_cursor_destroy (cursor);
|
||||
change_win_cursor(gdisp->canvas->window, gdisp->current_cursor);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -504,7 +504,7 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
/* free boundary segments */
|
||||
g_free (bsegs);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return segs;
|
||||
}
|
||||
|
|
|
@ -1605,8 +1605,6 @@ gdisplays_update_area (GimpImage* gimage,
|
|||
/* int x1, y1, x2, y2; */
|
||||
/* int count = 0; */
|
||||
|
||||
/* printf("GDUA%p:%d,%d:%dx%d ", gimage,x,y,w,h);fflush(stdout);*/
|
||||
|
||||
/* traverse the linked list of displays */
|
||||
while (list)
|
||||
{
|
||||
|
@ -1894,11 +1892,8 @@ gdisplay_reconnect (GDisplay *gdisp, GimpImage *gimage)
|
|||
|
||||
if (gdisp->idle_render.active)
|
||||
{
|
||||
printf(_("Deleted idlerendering gdisp %p...\n"), gdisp); fflush(stdout);
|
||||
printf(_("\tIdlerender stops now!\n")); fflush(stdout);
|
||||
gtk_idle_remove (gdisp->idle_render.idleid);
|
||||
gdisp->idle_render.active = FALSE;
|
||||
printf(_("\tDeletion finished.\n")); fflush(stdout);
|
||||
}
|
||||
|
||||
gimage_delete (gdisp->gimage);
|
||||
|
|
|
@ -272,7 +272,7 @@ gimage_resize_invoker (Argument *args)
|
|||
if (success)
|
||||
gimage_resize (gimage, new_width, new_height, offx, offy);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return procedural_db_return_args (&gimage_resize_proc, success);
|
||||
}
|
||||
|
@ -3714,6 +3714,8 @@ duplicate (GImage *gimage)
|
|||
GimpDrawable *floating_sel_drawable = NULL;
|
||||
int count;
|
||||
|
||||
gimp_add_busy_cursors();
|
||||
|
||||
/* Create a new image */
|
||||
new_gimage = gimage_new (gimage->width, gimage->height, gimage->base_type);
|
||||
gimage_disable_undo (new_gimage);
|
||||
|
@ -3816,8 +3818,12 @@ duplicate (GImage *gimage)
|
|||
new_gimage->active[count] = gimage->active[count];
|
||||
}
|
||||
|
||||
#warning NEED TO COPY GUIDES ALSO
|
||||
|
||||
gimage_enable_undo (new_gimage);
|
||||
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return new_gimage;
|
||||
}
|
||||
|
||||
|
|
|
@ -919,7 +919,7 @@ convert_image (GImage *gimage,
|
|||
|
||||
gimp_image_colormap_changed (gimage, -1);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -399,7 +399,7 @@ gimp_image_resize (GimpImage *gimage, int new_width, int new_height,
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -458,6 +458,8 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
#warning NEED TO SCALE GUIDES ALSO
|
||||
|
||||
/* Make sure the projection matches the gimage size */
|
||||
gimp_image_projection_realloc (gimage);
|
||||
|
||||
|
@ -467,7 +469,7 @@ gimp_image_scale (GimpImage *gimage, int new_width, int new_height)
|
|||
|
||||
gtk_signal_emit (GTK_OBJECT (gimage), gimp_image_signals[RESIZE]);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -936,7 +938,8 @@ gimp_image_get_new_tattoo(GimpImage *image)
|
|||
}
|
||||
|
||||
void
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col){
|
||||
gimp_image_colormap_changed (GimpImage *image, gint col)
|
||||
{
|
||||
g_return_if_fail (image);
|
||||
g_return_if_fail (col < image->num_cols);
|
||||
gtk_signal_emit (GTK_OBJECT(image),
|
||||
|
@ -1302,7 +1305,7 @@ gimp_image_construct (GimpImage *gimage, int x, int y, int w, int h)
|
|||
* has been written to the gimage raw image yet.
|
||||
*/
|
||||
gimage->construct_flag = 0;
|
||||
|
||||
|
||||
/* First, determine if the projection image needs to be
|
||||
* initialized--this is the case when there are no visible
|
||||
* layers that cover the entire canvas--either because layers
|
||||
|
@ -1394,6 +1397,8 @@ gimp_image_validate (TileManager *tm, Tile *tile)
|
|||
int x, y;
|
||||
int w, h;
|
||||
|
||||
gimp_add_busy_cursors_until_idle();
|
||||
|
||||
/* Get the gimage from the tilemanager */
|
||||
gimage = (GimpImage *) tile_manager_get_user_data (tm);
|
||||
|
||||
|
@ -2010,7 +2015,7 @@ gimp_image_merge_visible_layers (GimpImage *gimage, MergeType merge_type)
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
@ -2044,7 +2049,7 @@ gimp_image_flatten (GimpImage *gimage)
|
|||
layer = gimp_image_merge_layers (gimage, merge_list, FlattenImage);
|
||||
g_slist_free (merge_list);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return layer;
|
||||
}
|
||||
|
@ -2088,7 +2093,7 @@ gimp_image_merge_down (GimpImage *gimage,
|
|||
gimp_add_busy_cursors();
|
||||
layer = gimp_image_merge_layers (gimage, merge_list, merge_type);
|
||||
g_slist_free (merge_list);
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
return layer;
|
||||
}
|
||||
else
|
||||
|
|
12
app/scroll.c
12
app/scroll.c
|
@ -66,14 +66,10 @@ void
|
|||
start_grab_and_scroll (GDisplay *gdisp,
|
||||
GdkEventButton *bevent)
|
||||
{
|
||||
GdkCursor *cursor;
|
||||
|
||||
startx = bevent->x + gdisp->offset_x;
|
||||
starty = bevent->y + gdisp->offset_y;
|
||||
|
||||
cursor = gdk_cursor_new (GDK_FLEUR);
|
||||
gdk_window_set_cursor (gdisp->canvas->window, cursor);
|
||||
gdk_cursor_destroy (cursor);
|
||||
change_win_cursor(gdisp->canvas->window, GDK_FLEUR);
|
||||
}
|
||||
|
||||
|
||||
|
@ -81,11 +77,7 @@ void
|
|||
end_grab_and_scroll (GDisplay *gdisp,
|
||||
GdkEventButton *bevent)
|
||||
{
|
||||
GdkCursor *cursor;
|
||||
|
||||
cursor = gdk_cursor_new (gdisp->current_cursor);
|
||||
gdk_window_set_cursor (gdisp->canvas->window, cursor);
|
||||
gdk_cursor_destroy (cursor);
|
||||
change_win_cursor(gdisp->canvas->window, gdisp->current_cursor);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -864,7 +864,7 @@ blend (GImage *gimage,
|
|||
/* free the temporary buffer */
|
||||
tile_manager_destroy (buf_tiles);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -537,7 +537,7 @@ bucket_fill (gimage, drawable, fill_mode, paint_mode,
|
|||
if (new_buf)
|
||||
temp_buf_free (pat_buf);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -751,7 +751,7 @@ crop_image (GImage *gimage,
|
|||
gdisplays_update_full (gimage);
|
||||
gdisplays_shrink_wrap (gimage);
|
||||
}
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -504,7 +504,7 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
/* free boundary segments */
|
||||
g_free (bsegs);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return segs;
|
||||
}
|
||||
|
|
|
@ -864,7 +864,7 @@ blend (GImage *gimage,
|
|||
/* free the temporary buffer */
|
||||
tile_manager_destroy (buf_tiles);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -537,7 +537,7 @@ bucket_fill (gimage, drawable, fill_mode, paint_mode,
|
|||
if (new_buf)
|
||||
temp_buf_free (pat_buf);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -751,7 +751,7 @@ crop_image (GImage *gimage,
|
|||
gdisplays_update_full (gimage);
|
||||
gdisplays_shrink_wrap (gimage);
|
||||
}
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
gdisplays_flush ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -504,7 +504,7 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
/* free boundary segments */
|
||||
g_free (bsegs);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return segs;
|
||||
}
|
||||
|
|
|
@ -504,7 +504,7 @@ fuzzy_select_calculate (Tool *tool, void *gdisp_ptr, int *nsegs)
|
|||
/* free boundary segments */
|
||||
g_free (bsegs);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return segs;
|
||||
}
|
||||
|
|
|
@ -437,7 +437,7 @@ transform_core_doit (tool, gdisp_ptr)
|
|||
}
|
||||
}
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
gdisplays_flush ();
|
||||
|
||||
|
|
|
@ -437,7 +437,7 @@ transform_core_doit (tool, gdisp_ptr)
|
|||
}
|
||||
}
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
gdisplays_flush ();
|
||||
|
||||
|
|
|
@ -17,9 +17,13 @@
|
|||
*/
|
||||
#include "appenv.h"
|
||||
#include "cursorutil.h"
|
||||
#include "dialog_handler.h"
|
||||
#include "gdisplay.h" /* for gdisplay_*_override_cursor() */
|
||||
|
||||
|
||||
extern GSList* display_list; /* It's in gdisplay.c, FYI */
|
||||
static gboolean pending_removebusy = FALSE;
|
||||
|
||||
|
||||
void
|
||||
change_win_cursor (win, cursortype)
|
||||
|
@ -40,12 +44,25 @@ unset_win_cursor (win)
|
|||
gdk_window_set_cursor (win, NULL);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_add_busy_cursors_until_idle (void)
|
||||
{
|
||||
if (!pending_removebusy)
|
||||
{
|
||||
gimp_add_busy_cursors();
|
||||
gtk_idle_add_priority (GTK_PRIORITY_HIGH,
|
||||
gimp_remove_busy_cursors, NULL);
|
||||
pending_removebusy = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
gimp_add_busy_cursors (void)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
|
||||
/* Canvases */
|
||||
while (list)
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
|
@ -53,15 +70,20 @@ gimp_add_busy_cursors (void)
|
|||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
/* Dialogs */
|
||||
dialog_idle_all();
|
||||
|
||||
gdk_flush();
|
||||
}
|
||||
|
||||
void
|
||||
gimp_remove_busy_cursors (void)
|
||||
|
||||
int
|
||||
gimp_remove_busy_cursors (gpointer data)
|
||||
{
|
||||
GDisplay *gdisp;
|
||||
GSList *list = display_list;
|
||||
|
||||
/* Canvases */
|
||||
while (list)
|
||||
{
|
||||
gdisp = (GDisplay *) list->data;
|
||||
|
@ -69,4 +91,11 @@ gimp_remove_busy_cursors (void)
|
|||
|
||||
list = g_slist_next (list);
|
||||
}
|
||||
|
||||
/* Dialogs */
|
||||
dialog_unidle_all();
|
||||
|
||||
pending_removebusy = FALSE;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -21,7 +21,8 @@
|
|||
void change_win_cursor (GdkWindow *, GdkCursorType);
|
||||
void unset_win_cursor (GdkWindow *);
|
||||
|
||||
void gimp_add_busy_cursors (void);
|
||||
void gimp_remove_busy_cursors (void);
|
||||
void gimp_add_busy_cursors_until_idle (void);
|
||||
void gimp_add_busy_cursors (void);
|
||||
int gimp_remove_busy_cursors (gpointer);
|
||||
|
||||
#endif /* __CURSORUTIL_H__ */
|
||||
|
|
|
@ -360,7 +360,7 @@ xcf_load_invoker (Argument *args)
|
|||
if (success)
|
||||
return_args[1].value.pdb_int = pdb_image_to_id(gimage);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
@ -407,7 +407,7 @@ xcf_save_invoker (Argument *args)
|
|||
|
||||
return_args = procedural_db_return_args (&xcf_plug_in_save_proc.db_info, success);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
|
|
@ -360,7 +360,7 @@ xcf_load_invoker (Argument *args)
|
|||
if (success)
|
||||
return_args[1].value.pdb_int = pdb_image_to_id(gimage);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
@ -407,7 +407,7 @@ xcf_save_invoker (Argument *args)
|
|||
|
||||
return_args = procedural_db_return_args (&xcf_plug_in_save_proc.db_info, success);
|
||||
|
||||
gimp_remove_busy_cursors();
|
||||
gimp_remove_busy_cursors(NULL);
|
||||
|
||||
return return_args;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue