]> git.xonotic.org Git - xonotic/netradiant.git/blobdiff - plugins/imagepng/plugin.cpp
Merge commit 'c5a6237a2b002c9811719172931b0c9cc5a725f4' into master-merge
[xonotic/netradiant.git] / plugins / imagepng / plugin.cpp
index 281193fd63afd1208a1d37128912da151b687f77..449bbf1bca9d689fa810bf09c63f114b1baecc7a 100644 (file)
@@ -40,7 +40,7 @@ void user_error_fn( png_structp png_ptr, png_const_charp error_msg ){
        longjmp( png_jmpbuf(png_ptr), 0 );
 }
 
-void user_read_data( png_structp png_ptr, png_bytep data, png_uint_32 length ){
+void user_read_data( png_structp png_ptr, png_bytep data, png_size_t length ){
        png_bytep *p_p_fbuffer = (png_bytep*)png_get_io_ptr( png_ptr );
        memcpy( data, *p_p_fbuffer, length );
        *p_p_fbuffer += length;
@@ -80,7 +80,7 @@ Image* LoadPNGBuff( unsigned char* fbuffer ){
        }
 
        // configure the read function
-       png_set_read_fn( png_ptr, ( png_voidp ) & p_fbuffer, ( png_rw_ptr ) & user_read_data );
+       png_set_read_fn( png_ptr, (png_voidp) &p_fbuffer, &user_read_data );
 
        if ( setjmp( png_jmpbuf(png_ptr) ) ) {
                png_destroy_read_struct( &png_ptr, &info_ptr,
@@ -113,7 +113,7 @@ Image* LoadPNGBuff( unsigned char* fbuffer ){
                png_set_tRNS_to_alpha( png_ptr );
        }
 
-       if ( !( color_type & PNG_COLOR_MASK_ALPHA ) ) {
+       else if ( !( color_type & PNG_COLOR_MASK_ALPHA ) ) {
                // Set the background color to draw transparent and alpha images over.
                png_color_16 my_background, *image_background;