From: Søren Sandmann Pedersen Date: Tue, 15 Feb 2011 09:55:02 +0000 (-0500) Subject: Avoid marking images dirty when properties are reset X-Git-Tag: 1.0_branch~309 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7feb710e60cdab5c448a396537a8de16e72091e2;p=profile%2Fivi%2Fpixman.git Avoid marking images dirty when properties are reset When an image property is set to the same value that it already is, there is no reason to mark the image dirty and incur a recomputation of the flags. --- diff --git a/pixman/pixman-image.c b/pixman/pixman-image.c index e91d87c..55fc17a 100644 --- a/pixman/pixman-image.c +++ b/pixman/pixman-image.c @@ -511,6 +511,12 @@ pixman_image_set_transform (pixman_image_t * image, goto out; } + if (common->transform && + memcmp (common->transform, transform, sizeof (pixman_transform_t) == 0)) + { + return TRUE; + } + if (common->transform == NULL) common->transform = malloc (sizeof (pixman_transform_t)); @@ -535,6 +541,9 @@ PIXMAN_EXPORT void pixman_image_set_repeat (pixman_image_t *image, pixman_repeat_t repeat) { + if (image->common.repeat == repeat) + return; + image->common.repeat = repeat; image_property_changed (image); @@ -579,6 +588,9 @@ PIXMAN_EXPORT void pixman_image_set_source_clipping (pixman_image_t *image, pixman_bool_t clip_sources) { + if (image->common.clip_sources == clip_sources) + return; + image->common.clip_sources = clip_sources; image_property_changed (image); @@ -594,6 +606,9 @@ pixman_image_set_indexed (pixman_image_t * image, { bits_image_t *bits = (bits_image_t *)image; + if (bits->indexed == indexed) + return; + bits->indexed = indexed; image_property_changed (image); @@ -656,6 +671,9 @@ PIXMAN_EXPORT void pixman_image_set_component_alpha (pixman_image_t *image, pixman_bool_t component_alpha) { + if (image->common.component_alpha == component_alpha) + return; + image->common.component_alpha = component_alpha; image_property_changed (image);