You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
5.9 KiB
168 lines
5.9 KiB
Index: config.tests/x11/xfreetype.test |
|
--- config.tests/x11/xfreetype.test.orig 2004-08-09 22:16:57 +0200 |
|
+++ config.tests/x11/xfreetype.test 2006-03-15 21:01:02 +0100 |
|
@@ -56,7 +56,7 @@ |
|
XFT=no |
|
[ "$VERBOSE" = "yes" ] && echo " Could not find Xft lib anywhere in $LIBDIRS" |
|
fi |
|
-LIBXFT="-l$F -lfreetype" |
|
+LIBXFT="-l$F -lfontconfig -lexpat -lfreetype" |
|
|
|
# check for X11/Xft/Xft.h |
|
XFT_H= |
|
@@ -90,7 +90,7 @@ |
|
[ "$VERBOSE" = "yes" ] && echo " Found Xft version $XFT_MAJOR.$XFT_MINOR.$XFT_REVISION" |
|
if [ "$XFT_MAJOR" = "2" ]; then |
|
XFT2=yes |
|
- LIBXFT="$LIBXFT -lfontconfig" |
|
+ LIBXFT="$LIBXFT" |
|
fi |
|
fi |
|
|
|
Index: configure |
|
--- configure.orig 2006-03-08 13:11:24 +0100 |
|
+++ configure 2006-03-15 21:01:02 +0100 |
|
@@ -1788,21 +1788,6 @@ |
|
CFG_FREETYPE=yes |
|
fi |
|
fi |
|
- # add freetype2 include path |
|
- if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.inc ];then |
|
- QMAKE_VARS="$QMAKE_VARS \"INCLUDEPATH+=`cat $outpath/config.tests/x11/xft.inc`\"" |
|
- fi |
|
- rm -f $outpath/config.tests/x11/xft.inc |
|
- # add Xft specific libraries |
|
- if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.lib ]; then |
|
- QMAKE_VARS="$QMAKE_VARS \"QMAKE_LIBS_X11=`cat $outpath/config.tests/x11/xft.lib` \$\$QMAKE_LIBS_X11\"" |
|
- fi |
|
- rm -f $outpath/config.tests/x11/xft.lib |
|
- # add Xft specific config options |
|
- if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.cfg ]; then |
|
- QMAKE_CONFIG="$QMAKE_CONFIG `cat $outpath/config.tests/x11/xft.cfg`" |
|
- fi |
|
- rm -f $outpath/config.tests/x11/xft.cfg |
|
# auto-detect Session Management support |
|
if [ "$CFG_SM" = "auto" ]; then |
|
if $x11tests/sm.test $XQMAKESPEC $OPT_VERBOSE $L_FLAGS $I_FLAGS; then |
|
@@ -2981,6 +2966,21 @@ |
|
if [ "$CFG_XKB" = "yes" ]; then |
|
QMAKE_CONFIG="$QMAKE_CONFIG xkb" |
|
fi |
|
+ # add freetype2 include path |
|
+ if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.inc ];then |
|
+ QMAKE_VARS="$QMAKE_VARS \"INCLUDEPATH+=`cat $outpath/config.tests/x11/xft.inc`\"" |
|
+ fi |
|
+ rm -f $outpath/config.tests/x11/xft.inc |
|
+ # add Xft specific libraries |
|
+ if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.lib ]; then |
|
+ QMAKE_VARS="$QMAKE_VARS \"QMAKE_LIBS_X11=`cat $outpath/config.tests/x11/xft.lib` \$\$QMAKE_LIBS_X11\"" |
|
+ fi |
|
+ rm -f $outpath/config.tests/x11/xft.lib |
|
+ # add Xft specific config options |
|
+ if [ "$CFG_FREETYPE" = "yes" ] && [ -f $outpath/config.tests/x11/xft.cfg ]; then |
|
+ QMAKE_CONFIG="$QMAKE_CONFIG `cat $outpath/config.tests/x11/xft.cfg`" |
|
+ fi |
|
+ rm -f $outpath/config.tests/x11/xft.cfg |
|
elif [ "$PLATFORM_MAC" = "yes" ]; then |
|
if [ "$CFG_TABLET" = "yes" ]; then |
|
QMAKE_CONFIG="$QMAKE_CONFIG tablet" |
|
Index: src/3rdparty/libpng/png.h |
|
--- src/3rdparty/libpng/png.h.orig 2004-09-03 20:17:23 +0200 |
|
+++ src/3rdparty/libpng/png.h 2006-03-15 21:01:02 +0100 |
|
@@ -839,6 +839,9 @@ |
|
/* PNG_MAX_UINT is deprecated; use PNG_UINT_31_MAX instead. */ |
|
#define PNG_MAX_UINT PNG_UINT_31_MAX |
|
|
|
+/* Constraints on width, height, (2 ^ 24) - 1*/ |
|
+#define PNG_MAX_DIMENSION 16777215 |
|
+ |
|
/* These describe the color_type field in png_info. */ |
|
/* color type masks */ |
|
#define PNG_COLOR_MASK_PALETTE 1 |
|
Index: src/3rdparty/libpng/pngconf.h |
|
--- src/3rdparty/libpng/pngconf.h.orig 2004-09-03 20:37:07 +0200 |
|
+++ src/3rdparty/libpng/pngconf.h 2006-03-15 21:01:02 +0100 |
|
@@ -251,10 +251,6 @@ |
|
# define PNG_SAVE_BSD_SOURCE |
|
# undef _BSD_SOURCE |
|
# endif |
|
-# ifdef _SETJMP_H |
|
- __png.h__ already includes setjmp.h; |
|
- __dont__ include it again.; |
|
-# endif |
|
# endif /* __linux__ */ |
|
|
|
/* include setjmp.h for error handling */ |
|
Index: src/3rdparty/libpng/pngerror.c |
|
--- src/3rdparty/libpng/pngerror.c.orig 2004-09-03 20:06:36 +0200 |
|
+++ src/3rdparty/libpng/pngerror.c 2006-03-15 21:01:02 +0100 |
|
@@ -135,10 +135,13 @@ |
|
buffer[iout] = 0; |
|
else |
|
{ |
|
+ png_size_t len; |
|
+ if ((len = png_strlen(error_message)) > 63) |
|
+ len = 63; |
|
buffer[iout++] = ':'; |
|
buffer[iout++] = ' '; |
|
- png_strncpy(buffer+iout, error_message, 63); |
|
- buffer[iout+63] = 0; |
|
+ png_strncpy(buffer+iout, error_message, len); |
|
+ buffer[iout+len] = 0; |
|
} |
|
} |
|
|
|
Index: src/3rdparty/libpng/pngrutil.c |
|
--- src/3rdparty/libpng/pngrutil.c.orig 2004-09-03 20:34:00 +0200 |
|
+++ src/3rdparty/libpng/pngrutil.c 2006-03-15 21:01:03 +0100 |
|
@@ -355,7 +355,11 @@ |
|
png_crc_finish(png_ptr, 0); |
|
|
|
width = png_get_uint_32(buf); |
|
+ if (width > PNG_MAX_DIMENSION) |
|
+ png_error(png_ptr, "Width is too large"); |
|
height = png_get_uint_32(buf + 4); |
|
+ if (height > PNG_MAX_DIMENSION) |
|
+ png_error(png_ptr, "Height is too large"); |
|
bit_depth = buf[8]; |
|
color_type = buf[9]; |
|
compression_type = buf[10]; |
|
@@ -680,7 +684,7 @@ |
|
else |
|
truelen = (png_size_t)png_ptr->channels; |
|
|
|
- if (length != truelen) |
|
+ if (length != truelen || length > 4) |
|
{ |
|
png_warning(png_ptr, "Incorrect sBIT chunk length"); |
|
png_crc_finish(png_ptr, length); |
|
@@ -1415,7 +1419,7 @@ |
|
void /* PRIVATE */ |
|
png_handle_hIST(png_structp png_ptr, png_infop info_ptr, png_uint_32 length) |
|
{ |
|
- int num, i; |
|
+ unsigned int num, i; |
|
png_uint_16 readbuf[PNG_MAX_PALETTE_LENGTH]; |
|
|
|
png_debug(1, "in png_handle_hIST\n"); |
|
@@ -1441,8 +1445,8 @@ |
|
return; |
|
} |
|
|
|
- num = (int)length / 2 ; |
|
- if (num != png_ptr->num_palette) |
|
+ num = length / 2 ; |
|
+ if (num != png_ptr->num_palette || num > PNG_MAX_PALETTE_LENGTH) |
|
{ |
|
png_warning(png_ptr, "Incorrect hIST chunk length"); |
|
png_crc_finish(png_ptr, length); |
|
@@ -2883,6 +2887,9 @@ |
|
png_read_data(png_ptr, chunk_length, 4); |
|
png_ptr->idat_size = png_get_uint_32(chunk_length); |
|
|
|
+ if (png_ptr->idat_size > PNG_MAX_UINT) |
|
+ png_error(png_ptr, "Invalid chunk length."); |
|
+ |
|
png_reset_crc(png_ptr); |
|
png_crc_read(png_ptr, png_ptr->chunk_name, 4); |
|
if (png_memcmp(png_ptr->chunk_name, (png_bytep)png_IDAT, 4))
|
|
|