Commit 1a13f51e authored by Michael Natterer's avatar Michael Natterer 😴 Committed by Michael Natterer
Browse files

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
parent 26356710
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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment