Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2:Update
DirectFB
DirectFB-1.4.5-libpng15.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File DirectFB-1.4.5-libpng15.patch of Package DirectFB
Index: DirectFB-1.4.5/tools/directfb-csource.c =================================================================== --- DirectFB-1.4.5.orig/tools/directfb-csource.c +++ DirectFB-1.4.5/tools/directfb-csource.c @@ -290,11 +290,12 @@ static DFBResult load_image (const char FILE *fp; png_structp png_ptr = NULL; png_infop info_ptr = NULL; + png_colorp png_palette; png_uint_32 width, height; unsigned char *data = NULL; int type; char header[8]; - int bytes, pitch; + int bytes, pitch, num_palette; dest_format = (desc->flags & DSDESC_PIXELFORMAT) ? desc->pixelformat : DSPF_UNKNOWN; @@ -320,7 +321,7 @@ static DFBResult load_image (const char if (!png_ptr) goto cleanup; - if (setjmp (png_ptr->jmpbuf)) { + if (setjmp (png_jmpbuf(png_ptr))) { if (desc->preallocated[0].data) { free (desc->preallocated[0].data); desc->preallocated[0].data = NULL; @@ -388,16 +389,17 @@ static DFBResult load_image (const char switch (src_format) { case DSPF_LUT8: - if (info_ptr->num_palette) { + png_get_PLTE(png_ptr, info_ptr, &png_palette, &num_palette); + if (num_palette) { png_byte *alpha; int i, num; - *palette_size = MIN (info_ptr->num_palette, 256); + *palette_size = MIN (num_palette, 256); for (i = 0; i < *palette_size; i++) { palette[i].a = 0xFF; - palette[i].r = info_ptr->palette[i].red; - palette[i].g = info_ptr->palette[i].green; - palette[i].b = info_ptr->palette[i].blue; + palette[i].r = png_palette[i].red; + palette[i].g = png_palette[i].green; + palette[i].b = png_palette[i].blue; } if (png_get_valid (png_ptr, info_ptr, PNG_INFO_tRNS)) { png_get_tRNS (png_ptr, info_ptr, &alpha, &num, NULL);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor