Remember me

Lost Password?

Register now!


Who's Online
66 user(s) are online (55 user(s) are browsing Forums)

Members: 0
Guests: 66


Support us!


Report message:*

Re: Odyssey 1.23 progress

Subject: Re: Odyssey 1.23 progress
by kas1e on 2020/3/15 12:27:03

It can return lot's of things, and i think i come close already, it's "cairo_image_surface_create_from_png()" function fail.

Cairo we use currently pretty old : v1.12.16 , very possible it just this function have issues when used together with 1.16.

I also do some google, and find there were some patches to cairo because of libpng16. Maybe that not related, but imho very close.

As for return types, i just do:


data->surface = cairo_image_surface_create_from_png ("PROGDIR:resource/transferanim_tab.png");

if(cairo_surface_status(data->surface) == CAIRO_STATUS_FILE_NOT_FOUND) { printf("debug: FILE_NOT_FOUND\n");};
if(cairo_surface_status(data->surface) == CAIRO_STATUS_READ_ERROR) { printf("debug: READ_ERROR\n");};
if(cairo_surface_status(data->surface) == CAIRO_STATUS_SUCCESS) { printf("debug: SUCCESS\n");};
if(cairo_surface_status(data->surface) == CAIRO_STATUS_NULL_POINTER) { printf("debug: NULL_POINTER\n");};
if(cairo_surface_status(data->surface) == CAIRO_STATUS_INVALID_CONTENT) { printf("debug: INVALID_CONTENT\n");};
if(cairo_surface_status(data->surface) == CAIRO_STATUS_NO_MEMORY) { printf("debug: NO_MEMORY\n");};
if(cairo_surface_status(data->surface) == CAIRO_STATUS_INVALID_FORMAT) { printf("debug: INVALID_FORMAT\n");};
if(cairo_surface_status(data->surface) == CAIRO_STATUS_INVALID_VISUAL) { printf("debug: INVALID_VISUAL\n");};

And have when compiled with libpng16 "NO_MEMORY" , while with libpng12 "SUCCESS".

Now need to check Cairo's changelogs, how much of changes there were in cairo-png.c since 1.12.16

But at least i find that patch: https://bugs.freedesktop.org/attachment.cgi?id=77910

So maybe that it, will try to rebuild my cairo with that path too.

Powered by XOOPS 2.0 © 2001-2016 The XOOPS Project