Hi,

On 16 April 2013 10:06, Koen Kooi <[email protected]> wrote:
> I've been looking into the libpng problems people have been reporting (e.g. 
> #4060) and tried to upgrade 1.16.1 to fix those. Long story short, 1.16.1 
> doesn't fix them. I'm currently using weston as a testbed and was able to 
> narrow the problems with weston down to:
>
>         cairo_surface_t *surface = cairo_image_surface_create_from_png(icon);
>
> with ends up as:
>
>         ERROR loading icon from file 
> '/usr/share/icons/gnome/24x24/apps/utilities-terminal.png', error: 'out of 
> memory'

I just spoke to Chris Wilson about this.  libpng 1.6 is throwing more
warnings to the caller, often about invalid PNG extensions that are
being ignored apparently, and cairo-png is being over-zealous (his
words) in handling the warnings, by turning them into errors.

static void
png_simple_warning_callback (png_structp png,
                             png_const_charp error_msg)
{
    cairo_status_t *error = png_get_error_ptr (png);

    /* default to the most likely error */
    if (*error == CAIRO_STATUS_SUCCESS)
        *error = _cairo_error (CAIRO_STATUS_NO_MEMORY);

    /* png does not expect to abort and will try to tidy up after a warning */
}

The warnings are just warnings and libpng will continue to load the
images.  Sending a patch once this git clone has finished.

Ross

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to