diff options
author | aavit <qt_aavit@ovi.com> | 2012-03-02 09:09:10 (GMT) |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-12 13:51:42 (GMT) |
commit | ed881474111d635bb90d3e08e9fb70c06d19d48b (patch) | |
tree | cd231b241f3e4c2e0901862bf0fffe395a8a8253 /src | |
parent | 597d5f2288354772d9b8d02e8a6445ad7af10586 (diff) | |
download | Qt-ed881474111d635bb90d3e08e9fb70c06d19d48b.zip Qt-ed881474111d635bb90d3e08e9fb70c06d19d48b.tar.gz Qt-ed881474111d635bb90d3e08e9fb70c06d19d48b.tar.bz2 |
Upgrading libpng: Patches to libpng 1.5.10 for Qt usage
This is the collection of those earlier patches to libpng
in Qt that are still relevant, updated as required:
d6ba0e805fd2b17e2e0cbbce32e218551505d91f
91bf025444f13eb269ece6bb430a841638bb32a8
125dae45c5c8e09a58409095f6661ab65ea1e71f
d6947bcbed97889d7d56d400f81eb1691a3f18e1
Change-Id: I06603041b5971ade4742f600dbea4cca98ff95a5
Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/3rdparty/libpng.pri | 17 | ||||
-rw-r--r-- | src/3rdparty/libpng/pngconf.h | 4 | ||||
-rw-r--r-- | src/3rdparty/libpng/pngdebug.h | 6 | ||||
-rw-r--r-- | src/3rdparty/libpng/pnglibconf.h | 3 | ||||
-rw-r--r-- | src/3rdparty/libpng/pngpriv.h | 19 | ||||
-rw-r--r-- | src/gui/image/qpnghandler.cpp | 1 |
6 files changed, 39 insertions, 11 deletions
diff --git a/src/3rdparty/libpng.pri b/src/3rdparty/libpng.pri index 81966cb..7ac1910 100644 --- a/src/3rdparty/libpng.pri +++ b/src/3rdparty/libpng.pri @@ -1,7 +1,20 @@ DEFINES *= QT_USE_BUNDLED_LIBPNG !isEqual(QT_ARCH, i386):!isEqual(QT_ARCH, x86_64):DEFINES += PNG_NO_ASSEMBLER_CODE INCLUDEPATH += $$PWD/libpng - -SOURCES += $$PWD/libpng/privatepng.cpp +SOURCES += $$PWD/libpng/png.c \ + $$PWD/libpng/pngerror.c \ + $$PWD/libpng/pngget.c \ + $$PWD/libpng/pngmem.c \ + $$PWD/libpng/pngpread.c \ + $$PWD/libpng/pngread.c \ + $$PWD/libpng/pngrio.c \ + $$PWD/libpng/pngrtran.c \ + $$PWD/libpng/pngrutil.c \ + $$PWD/libpng/pngset.c \ + $$PWD/libpng/pngtrans.c \ + $$PWD/libpng/pngwio.c \ + $$PWD/libpng/pngwrite.c \ + $$PWD/libpng/pngwtran.c \ + $$PWD/libpng/pngwutil.c include($$PWD/zlib_dependency.pri) diff --git a/src/3rdparty/libpng/pngconf.h b/src/3rdparty/libpng/pngconf.h index bbb547f..6f7ae8b 100644 --- a/src/3rdparty/libpng/pngconf.h +++ b/src/3rdparty/libpng/pngconf.h @@ -35,7 +35,7 @@ * because this file defines png_memcpy and so on the base APIs must * be defined here. */ -# ifdef BSD +# if defined(BSD) && !defined(VXWORKS) # include <strings.h> # else # include <string.h> @@ -199,7 +199,7 @@ # define PNGCAPI __watcall # endif -# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800)) +# if defined(__GNUC__) || (defined (_MSC_VER) && (_MSC_VER >= 800)) || defined(__WINSCW__) # define PNGCAPI __cdecl # if PNG_API_RULE == 1 # define PNGAPI __stdcall diff --git a/src/3rdparty/libpng/pngdebug.h b/src/3rdparty/libpng/pngdebug.h index 16f81fd..4547b7d 100644 --- a/src/3rdparty/libpng/pngdebug.h +++ b/src/3rdparty/libpng/pngdebug.h @@ -85,7 +85,7 @@ # define png_debug(l,m) \ do { \ int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ + fprintf(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":"")))); \ } while (0) # endif @@ -93,7 +93,7 @@ # define png_debug1(l,m,p1) \ do { \ int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ + fprintf(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1); \ } while (0) # endif @@ -101,7 +101,7 @@ # define png_debug2(l,m,p1,p2) \ do { \ int num_tabs=l; \ - fprintf(PNG_DEBUG_FILE,"%s"m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ + fprintf(PNG_DEBUG_FILE,"%s" m PNG_STRING_NEWLINE,(num_tabs==1 ? "\t" : \ (num_tabs==2 ? "\t\t":(num_tabs>2 ? "\t\t\t":""))),p1,p2); \ } while (0) # endif diff --git a/src/3rdparty/libpng/pnglibconf.h b/src/3rdparty/libpng/pnglibconf.h index 6facf39..aa82b57 100644 --- a/src/3rdparty/libpng/pnglibconf.h +++ b/src/3rdparty/libpng/pnglibconf.h @@ -44,7 +44,9 @@ #define PNG_CHECK_FOR_INVALID_INDEX_SUPPORTED #define PNG_cHRM_SUPPORTED #define PNG_CONSOLE_IO_SUPPORTED +#ifndef _WIN32_WCE #define PNG_CONVERT_tIME_SUPPORTED +#endif #define PNG_EASY_ACCESS_SUPPORTED /*#undef PNG_ERROR_NUMBERS_SUPPORTED*/ #define PNG_ERROR_TEXT_SUPPORTED @@ -183,4 +185,5 @@ #define PNG_WRITE_zTXt_SUPPORTED #define PNG_zTXt_SUPPORTED /* end of options */ +#define PNG_SAFE_LIMITS_SUPPORTED #endif /* PNGLCONF_H */ diff --git a/src/3rdparty/libpng/pngpriv.h b/src/3rdparty/libpng/pngpriv.h index e76a579..dd8c9b9 100644 --- a/src/3rdparty/libpng/pngpriv.h +++ b/src/3rdparty/libpng/pngpriv.h @@ -25,6 +25,12 @@ #ifndef PNGPRIV_H #define PNGPRIV_H +#ifdef _MSC_VER +# ifndef _CRT_SECURE_NO_DEPRECATE +# define _CRT_SECURE_NO_DEPRECATE +# endif +#endif + /* Feature Test Macros. The following are defined here to ensure that correctly * implemented libraries reveal the APIs libpng needs to build and hide those * that are not needed and potentially damaging to the compilation. @@ -97,6 +103,11 @@ # endif #endif /* Setting PNG_BUILD_DLL if required */ +/* Modfied for usage in Qt: Do not export the libpng APIs */ +#ifdef PNG_BUILD_DLL +#undef PNG_BUILD_DLL +#endif + /* See pngconf.h for more details: the builder of the library may set this on * the command line to the right thing for the specific compilation system or it * may be automagically set above (at present we know of no system where it does @@ -350,7 +361,9 @@ typedef PNG_CONST png_uint_16p FAR * png_const_uint_16pp; #if defined(WIN32) || defined(_Windows) || defined(_WINDOWS) || \ defined(_WIN32) || defined(__WIN32__) -# include <windows.h> /* defines _WINDOWS_ macro */ +# if !defined(__SYMBIAN32__) +# include <windows.h> /* defines _WINDOWS_ macro */ +# endif #endif /* Moved here around 1.5.0beta36 from pngconf.h */ @@ -360,7 +373,7 @@ typedef PNG_CONST png_uint_16p FAR * png_const_uint_16pp; /* Memory model/platform independent fns */ #ifndef PNG_ABORT -# ifdef _WINDOWS_ +# if defined(_WINDOWS_) || defined(_WIN32_WCE) # define PNG_ABORT() ExitProcess(0) # else # define PNG_ABORT() abort() @@ -1584,7 +1597,7 @@ PNG_EXTERN void png_ascii_from_fixed PNGARG((png_structp png_ptr, #define PNG_FP_IS_ZERO(state) (((state) & PNG_FP_Z_MASK) == PNG_FP_SAW_DIGIT) #define PNG_FP_IS_POSITIVE(state) (((state) & PNG_FP_NZ_MASK) == PNG_FP_Z_MASK) #define PNG_FP_IS_NEGATIVE(state) (((state) & PNG_FP_NZ_MASK) == PNG_FP_NZ_MASK) - + /* The actual parser. This can be called repeatedly, it updates * the index into the string and the state variable (which must * be initialzed to 0). It returns a result code, as above. There diff --git a/src/gui/image/qpnghandler.cpp b/src/gui/image/qpnghandler.cpp index 6192bef..a935ea3 100644 --- a/src/gui/image/qpnghandler.cpp +++ b/src/gui/image/qpnghandler.cpp @@ -53,7 +53,6 @@ #ifdef QT_USE_BUNDLED_LIBPNG #include <../../3rdparty/libpng/png.h> #include <../../3rdparty/libpng/pngconf.h> -using namespace PrivatePng; #else #include <png.h> #include <pngconf.h> |