Part one of fix for bug #449141 (fixes the projection but still leaves
2007-06-21 Michael Natterer <mitch@gimp.org> Part one of fix for bug #449141 (fixes the projection but still leaves some image previews unupdated). * app/core/gimpimage.c (lots of functions) * app/paint/gimppaintcore.c (gimp_paint_core_finish) * app/file/file-open.c (file_open_sanitize_image): removed calls to gimp_viewable_invalidate_preview(image). * app/file/file-open.c (file_open_sanitize_image): update and flush the entire image instead. Load plug-ins are not required to call gimp_drawable_update() or anything else to make sure the projection is up-to-date. * app/core/gimpimage.c (gimp_image_real_flush): inavlidate the image preview here because we now create it from the projection. (this is still not the entirely correct place though). svn path=/trunk/; revision=22815
This commit is contained in:

committed by
Michael Natterer

parent
263567109d
commit
1a13f51e02
19
ChangeLog
19
ChangeLog
@ -1,3 +1,22 @@
|
||||
2007-06-21 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
Part one of fix for bug #449141 (fixes the projection but still
|
||||
leaves some image previews unupdated).
|
||||
|
||||
* app/core/gimpimage.c (lots of functions)
|
||||
* app/paint/gimppaintcore.c (gimp_paint_core_finish)
|
||||
* app/file/file-open.c (file_open_sanitize_image): removed calls
|
||||
to gimp_viewable_invalidate_preview(image).
|
||||
|
||||
* app/file/file-open.c (file_open_sanitize_image): update and
|
||||
flush the entire image instead. Load plug-ins are not required to
|
||||
call gimp_drawable_update() or anything else to make sure the
|
||||
projection is up-to-date.
|
||||
|
||||
* app/core/gimpimage.c (gimp_image_real_flush): inavlidate the
|
||||
image preview here because we now create it from the projection.
|
||||
(this is still not the entirely correct place though).
|
||||
|
||||
2007-06-21 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/tools/gimpcurvestool.c: introduced local variables in an
|
||||
|
@ -1118,7 +1118,6 @@ gimp_image_real_colormap_changed (GimpImage *image,
|
||||
gimp_image_update (image, 0, 0, image->width, image->height);
|
||||
|
||||
gimp_image_invalidate_layer_previews (image);
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (image));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1136,6 +1135,8 @@ gimp_image_real_flush (GimpImage *image)
|
||||
gimp_image_mask_changed (image);
|
||||
image->flush_accum.mask_changed = FALSE;
|
||||
}
|
||||
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (image));
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1169,7 +1170,6 @@ gimp_image_drawable_update (GimpDrawable *drawable,
|
||||
y += offset_y;
|
||||
|
||||
gimp_image_update (image, x, y, width, height);
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (image));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1186,7 +1186,6 @@ gimp_image_drawable_visibility (GimpItem *item,
|
||||
offset_x, offset_y,
|
||||
gimp_item_width (item),
|
||||
gimp_item_height (item));
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (image));
|
||||
}
|
||||
|
||||
static void
|
||||
@ -1681,7 +1680,6 @@ gimp_image_set_component_visible (GimpImage *image,
|
||||
channel);
|
||||
|
||||
gimp_image_update (image, 0, 0, image->width, image->height);
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (image));
|
||||
}
|
||||
}
|
||||
|
||||
@ -3139,7 +3137,6 @@ gimp_image_position_layer (GimpImage *image,
|
||||
off_x, off_y,
|
||||
gimp_item_width (GIMP_ITEM (layer)),
|
||||
gimp_item_height (GIMP_ITEM (layer)));
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (image));
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
@ -3391,7 +3388,6 @@ gimp_image_position_channel (GimpImage *image,
|
||||
off_x, off_y,
|
||||
gimp_item_width (GIMP_ITEM (channel)),
|
||||
gimp_item_height (GIMP_ITEM (channel)));
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (image));
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
@ -546,9 +546,16 @@ file_open_sanitize_image (GimpImage *image,
|
||||
/* set the image to clean */
|
||||
gimp_image_clean_all (image);
|
||||
|
||||
/* make sure the entire projection is properly constructed, because
|
||||
* load plug-ins are not required to call gimp_drawable_update() or
|
||||
* anything.
|
||||
*/
|
||||
gimp_image_update (image, 0, 0, image->width, image->height);
|
||||
gimp_image_flush (image);
|
||||
|
||||
/* same for drawable previews */
|
||||
gimp_image_invalidate_layer_previews (image);
|
||||
gimp_image_invalidate_channel_previews (image);
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (image));
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -438,11 +438,10 @@ gimp_paint_core_finish (GimpPaintCore *core,
|
||||
core->saved_proj_tiles = NULL;
|
||||
}
|
||||
|
||||
/* invalidate the previews -- have to do it here, because
|
||||
/* invalidate the drawable preview -- have to do it here, because
|
||||
* it is not done during the actual painting.
|
||||
*/
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (drawable));
|
||||
gimp_viewable_invalidate_preview (GIMP_VIEWABLE (image));
|
||||
}
|
||||
|
||||
static void
|
||||
|
Reference in New Issue
Block a user