[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cairo
Subject:    Re: [cairo] [PATCH] Avoid appending an empty slot to an user data array when user_data is NULL.
From:       Bryce Harrington <bryce () osg ! samsung ! com>
Date:       2015-04-21 0:18:59
Message-ID: 20150421001859.GH30509 () bryceharrington ! org
[Download RAW message or body]

On Fri, Apr 17, 2015 at 04:33:35PM +0100, Chris Wilson wrote:
> On Fri, Apr 17, 2015 at 08:59:17PM +0900, 江頭幸路 wrote:
> >    Otherwise, calling cairo_set_user_data(cr, key, 0, 0) many times
> >    causes a long user data array, almost all of whose slots are empty.
> >    It leads to unnecessarily much memory consumption and long execution time
> >    of
> >    cairo_set_user_data(cr, key, 0, 0) and cairo_get_user_data(cr, key) after
> >    it.
> >    ---
> >     src/cairo-array.c |    3 +++
> >     1 file changed, 3 insertions(+)
> > 
> >    diff --git a/src/cairo-array.c b/src/cairo-array.c
> >    index 4f3c082..58c9a38 100644
> >    --- a/src/cairo-array.c
> >    +++ b/src/cairo-array.c
> >    @@ -485,6 +485,9 @@ _cairo_user_data_array_set_data
> >    (cairo_user_data_array_t     *array,
> >         return CAIRO_STATUS_SUCCESS;
> >         }
> >     
> >    +    if (user_data == NULL)
> >    +    return CAIRO_STATUS_SUCCESS;
> 
> Ok, I thought this might break a cairo_user_data_exists(), but since we
> don't have one, this patch lgtm and doesn't seem to change the API.
> -Chris

Thanks, applied:
   89942c6..040ae0c  master -> master

(I think something may have been off with the tabs or something, as it
didn't apply directly; since the patch was trivial enough I just
manually applied it.)

Bryce
 
> -- 
> Chris Wilson, Intel Open Source Technology Centre
> -- 
> cairo mailing list
> cairo@cairographics.org
> http://lists.cairographics.org/mailman/listinfo/cairo
-- 
cairo mailing list
cairo@cairographics.org
http://lists.cairographics.org/mailman/listinfo/cairo
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic