From: Søren Sandmann Date: Tue, 12 Jun 2007 19:27:31 +0000 (-0400) Subject: Add boolean returns to various setters X-Git-Tag: 1.0_branch~1502 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=756b54f6e45bb423ffabfcad2b6d8574130c6e53;p=profile%2Fivi%2Fpixman.git Add boolean returns to various setters --- diff --git a/pixman/pixman-image.c b/pixman/pixman-image.c index e6d366a..d7ae309 100644 --- a/pixman/pixman-image.c +++ b/pixman/pixman-image.c @@ -347,14 +347,14 @@ pixman_image_set_has_client_clip (pixman_image_t *image, image->common.has_client_clip = client_clip; } -void +pixman_bool_t pixman_image_set_transform (pixman_image_t *image, const pixman_transform_t *transform) { image_common_t *common = (image_common_t *)image; if (common->transform == transform) - return; + return TRUE; if (common->transform) free (common->transform); @@ -363,7 +363,7 @@ pixman_image_set_transform (pixman_image_t *image, { common->transform = malloc (sizeof (pixman_transform_t)); if (!common->transform) - return; + return FALSE; *common->transform = *transform; } @@ -371,6 +371,8 @@ pixman_image_set_transform (pixman_image_t *image, { common->transform = NULL; } + + return TRUE; } void @@ -380,34 +382,37 @@ pixman_image_set_repeat (pixman_image_t *image, image->common.repeat = repeat; } -void +pixman_bool_t pixman_image_set_filter (pixman_image_t *image, pixman_filter_t filter, const pixman_fixed_t *params, int n_params) { image_common_t *common = (image_common_t *)image; - - if (params != common->filter_params || filter != common->filter) + pixman_fixed_t *new_params; + + if (params == common->filter_params && filter == common->filter) + return TRUE; + + new_params = NULL; + if (params) { - common->filter = filter; - - if (common->filter_params) - free (common->filter_params); + new_params = malloc (n_params * sizeof (pixman_fixed_t)); + if (!new_params) + return FALSE; - if (params) - { - common->filter_params = malloc (n_params * sizeof (pixman_fixed_t)); - memcpy (common->filter_params, params, n_params * sizeof (pixman_fixed_t)); - } - else - { - common->filter_params = NULL; - n_params = 0; - } + memcpy (new_params, + params, n_params * sizeof (pixman_fixed_t)); } - + + common->filter = filter; + + if (common->filter_params) + free (common->filter_params); + + common->filter_params = new_params; common->n_filter_params = n_params; + return TRUE; } /* Unlike all the other property setters, this function does not diff --git a/pixman/pixman.h b/pixman/pixman.h index 3ca6be0..229f76c 100644 --- a/pixman/pixman.h +++ b/pixman/pixman.h @@ -457,11 +457,11 @@ void pixman_image_set_clip_region (pixman_image_t pixman_region16_t *region); void pixman_image_set_has_client_clip (pixman_image_t *image, pixman_bool_t clien_clip); -void pixman_image_set_transform (pixman_image_t *image, +pixman_bool_t pixman_image_set_transform (pixman_image_t *image, const pixman_transform_t *transform); void pixman_image_set_repeat (pixman_image_t *image, pixman_repeat_t repeat); -void pixman_image_set_filter (pixman_image_t *image, +pixman_bool_t pixman_image_set_filter (pixman_image_t *image, pixman_filter_t filter, const pixman_fixed_t *filter_params, int n_filter_params);