[arch-commits] Commit in qt/trunk (8 files)
Pierre Schmitz
pierre at archlinux.org
Sat May 24 08:51:11 UTC 2008
Date: Saturday, May 24, 2008 @ 04:51:10
Author: pierre
Revision: 1973
upgpkg: qt 4.4.0-1
updated to qt-4.4 (first try)
Modified:
qt/trunk/PKGBUILD
Deleted:
qt/trunk/mysql.patch
qt/trunk/qlistview.patch
qt/trunk/qt-font-default-subst.diff
qt/trunk/qt-x11-opensource-src-4.3.4-aliasing.patch
qt/trunk/qt.profile
qt/trunk/qt3_pixmap.patch
qt/trunk/utf8-bug-qt3.diff
--------------------------------------------+
PKGBUILD | 14 --
mysql.patch | 47 ---------
qlistview.patch | 14 --
qt-font-default-subst.diff | 77 --------------
qt-x11-opensource-src-4.3.4-aliasing.patch | 17 ---
qt.profile | 6 -
qt3_pixmap.patch | 140 ---------------------------
utf8-bug-qt3.diff | 101 -------------------
8 files changed, 5 insertions(+), 411 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2008-05-24 08:43:26 UTC (rev 1972)
+++ PKGBUILD 2008-05-24 08:51:10 UTC (rev 1973)
@@ -1,7 +1,7 @@
# $Id$
# Contributer: Vinay S Shastry (vinayshastry at gmail.com)
pkgname=qt
-pkgver=4.3.4
+pkgver=4.4.0
pkgrel=1
pkgdesc="The QT gui toolkit."
arch=('i686' 'x86_64')
@@ -10,16 +10,14 @@
options=('!libtool' 'docs')
depends=('libpng' 'libjpeg' 'libxi' 'libxcursor' 'libxinerama' 'mesa' \
'fontconfig' 'libxrandr' 'dbus' 'glib2')
-makedepends=('mysql' 'postgresql' 'unixodbc' 'libmng' 'libtiff')
+makedepends=('mysql' 'unixodbc' 'libmng' 'libtiff')
provides=("qt4=${pkgver}")
replaces=('qt4')
conflicts=('qt4')
_pkgfqn=qt-x11-opensource-src-$pkgver
source=("ftp://ftp.trolltech.com/qt/source/${_pkgfqn}.tar.gz" \
- 'qt-x11-opensource-src-4.3.4-aliasing.patch' \
'qt4-assistant.desktop' 'qt4-designer.desktop' 'qt4-linguist.desktop')
-md5sums=('9499101ec54eb7b0de195b3c5e3ffa93'
- '73871785cfc4c0271eca59e658ab3a44'
+md5sums=('f13ad0aa75efad314715930e663bad55'
'67adab60dd87270e733d25552a826950'
'40a36635b14c32bd2923e408c2e877bf'
'cd6e1c951e079e2eace67bce5e63966c')
@@ -31,8 +29,6 @@
export LD_LIBRARY_PATH=${QT4DIR}/lib:${LD_LIBRARY_PATH}
cd $startdir/src/$_pkgfqn
- patch -p1 -i ../qt-x11-opensource-src-4.3.4-aliasing.patch || return 1
-
# remove docs
rm -rf doc
@@ -55,6 +51,7 @@
-sysconfdir /etc/qt \
-examplesdir /usr/share/doc/qt/examples \
-demosdir /usr/share/doc/qt/demos \
+ -no-exceptions \
-release \
-platform linux-g++ \
-system-zlib \
@@ -62,7 +59,7 @@
-system-libjpeg \
-qt-gif \
-shared -sm -nis -stl \
- -plugin-sql-{mysql,psql,sqlite,odbc} \
+ -plugin-sql-{mysql,sqlite,odbc} \
-no-separate-debug-info \
-glib -qdbus \
-optimized-qmake \
@@ -82,4 +79,4 @@
#sed -i -e "s|-L$startdir/src/${_pkgfqn}/lib||g" $startdir/pkg/usr/lib/*.prl $startdir/pkg/usr/share/doc/qt/demos/shared/libdemo_shared.prl
sed -i -e "s|$startdir/src/${_pkgfqn}/bin/moc|/usr/bin/moc|g" $startdir/pkg/usr/lib/pkgconfig/*.pc
sed -i -e "s|$startdir/src/${_pkgfqn}/bin/uic|/usr/bin/uic|g" $startdir/pkg/usr/lib/pkgconfig/*.pc
-}
\ No newline at end of file
+}
Deleted: mysql.patch
===================================================================
--- mysql.patch 2008-05-24 08:43:26 UTC (rev 1972)
+++ mysql.patch 2008-05-24 08:51:10 UTC (rev 1973)
@@ -1,47 +0,0 @@
---- src/sql/drivers/mysql/qsql_mysql.cpp
-+++ src/sql/drivers/mysql/qsql_mysql.cpp
-@@ -37,7 +37,6 @@
- #include "qsql_mysql.h"
- #include <private/qsqlextension_p.h>
-
--#include <qapplication.h>
- #include <qdatetime.h>
- #include <qvaluevector.h>
- #include <qsqlrecord.h>
-@@ -341,14 +340,6 @@ int QMYSQLResult::numRowsAffected()
- }
-
- /////////////////////////////////////////////////////////
--static void qServerEnd()
--{
--#ifndef Q_NO_MYSQL_EMBEDDED
--# if MYSQL_VERSION_ID >= 40000
-- mysql_server_end();
--# endif // MYSQL_VERSION_ID
--#endif // Q_NO_MYSQL_EMBEDDED
--}
-
- static void qServerInit()
- {
-@@ -366,9 +357,7 @@ static void qServerInit()
- qWarning( "QMYSQLDriver::qServerInit: unable to start server." );
- # endif
- }
-- qAddPostRoutine(qServerEnd);
- init = TRUE;
--
- # endif // MYSQL_VERSION_ID
- #endif // Q_NO_MYSQL_EMBEDDED
- }
-@@ -411,6 +400,11 @@ QMYSQLDriver::~QMYSQLDriver()
- QSqlOpenExtension *ext = qSqlOpenExtDict()->take( this );
- delete ext;
- }
-+#ifndef Q_NO_MYSQL_EMBEDDED
-+# if MYSQL_VERSION_ID > 40000
-+ mysql_server_end();
-+# endif
-+#endif
- }
-
- bool QMYSQLDriver::hasFeature( DriverFeature f ) const
Deleted: qlistview.patch
===================================================================
--- qlistview.patch 2008-05-24 08:43:26 UTC (rev 1972)
+++ qlistview.patch 2008-05-24 08:51:10 UTC (rev 1973)
@@ -1,14 +0,0 @@
-diff -uBbr qt-x11-free-3.3.5-old/src/widgets/qlistview.cpp
-qt-x11-free-3.3.5/src/widgets/qlistview.cpp
---- qt-x11-free-3.3.5-old/src/widgets/qlistview.cpp 2005-09-02
-05:43:15.000000000 -0700
-+++ qt-x11-free-3.3.5/src/widgets/qlistview.cpp 2005-11-04
-04:07:40.000000000 -0800
-@@ -3231,6 +3231,7 @@
- d->focusItem = 0;
- d->selectAnchor = 0;
- d->pressedItem = 0;
-+ d->highlighted = 0;
-
- // if it's down its downness makes no sense, so undown it
- d->buttonDown = FALSE;
Deleted: qt-font-default-subst.diff
===================================================================
--- qt-font-default-subst.diff 2008-05-24 08:43:26 UTC (rev 1972)
+++ qt-font-default-subst.diff 2008-05-24 08:51:10 UTC (rev 1973)
@@ -1,77 +0,0 @@
---- src/kernel/qfontdatabase_x11.cpp
-+++ src/kernel/qfontdatabase_x11.cpp
-@@ -1589,15 +1589,6 @@ QFontEngine *loadEngine( QFont::Script s
- if (script == QFont::Latin)
- // add Euro character
- FcCharSetAddChar(cs, 0x20ac);
-- if (script == QFont::Han_SimplifiedChinese)
-- FcCharSetAddChar(cs, 0x3400);
-- if (script == QFont::Han_TraditionalChinese){
-- FcCharSetAddChar(cs, 0x3435);
-- FcCharSetAddChar(cs, 0xE000);
-- FcCharSetAddChar(cs, 0xF6B1);
-- }
-- if (script == QFont::MiscellaneousSymbols)
-- FcCharSetAddChar(cs, 0x2714);
- FcPatternAddCharSet(pattern, FC_CHARSET, cs);
- FcCharSetDestroy(cs);
- }
-@@ -1813,7 +1804,11 @@ static QFontEngine *loadFontConfigFont(c
- FcPatternPrint(pattern);
- #endif
-
-+ // XftFontMatch calls the right ConfigSubstitute variants, but as we use
-+ // FcFontMatch/Sort here we have to do it manually.
- FcConfigSubstitute(0, pattern, FcMatchPattern);
-+ XftDefaultSubstitute(QPaintDevice::x11AppDisplay(), QPaintDevice::x11AppScreen(), pattern);
-+
- // qDebug("1: pattern contains:");
- // FcPatternPrint(pattern);
-
-@@ -1847,10 +1842,6 @@ static QFontEngine *loadFontConfigFont(c
- value.u.s = (const FcChar8 *)cs.data();
- FcPatternAddWeak(pattern, FC_FAMILY, value, FcTrue);
- }
--#ifdef FONT_MATCH_DEBUG
-- printf("final pattern contains:\n");
-- FcPatternPrint(pattern);
--#endif
- }
-
- if (script != QFont::Unicode) {
-@@ -1860,19 +1851,15 @@ static QFontEngine *loadFontConfigFont(c
- if (script == QFont::Latin)
- // add Euro character
- FcCharSetAddChar(cs, 0x20ac);
-- if (script == QFont::Han_SimplifiedChinese)
-- FcCharSetAddChar(cs, 0x3400);
-- if (script == QFont::Han_TraditionalChinese) {
-- FcCharSetAddChar(cs, 0x3435);
-- FcCharSetAddChar(cs, 0xE000);
-- FcCharSetAddChar(cs, 0xF6B1);
-- }
-- if (script == QFont::MiscellaneousSymbols)
-- FcCharSetAddChar(cs, 0x2714);
- FcPatternAddCharSet(pattern, FC_CHARSET, cs);
- FcCharSetDestroy(cs);
- }
-
-+#ifdef FONT_MATCH_DEBUG
-+ printf("final pattern contains:\n");
-+ FcPatternPrint(pattern);
-+#endif
-+
- QFontEngine *fe = 0;
-
- for( int jj = (FcGetVersion() >= 20392 ? 0 : 1); jj < 2; ++jj ) {
---- src/kernel/qfontdatabase.cpp
-+++ src/kernel/qfontdatabase.cpp
-@@ -554,7 +554,7 @@ static const unsigned short sample_chars
- // GeometricSymbols,
- { 0x2500, 0x0 },
- // MiscellaneousSymbols,
-- { 0x2640, 0x0 },
-+ { 0x2640, 0x2714, 0x0 },
- // EnclosedAndSquare,
- { 0x2460, 0x0 },
- // Braille,
Deleted: qt-x11-opensource-src-4.3.4-aliasing.patch
===================================================================
--- qt-x11-opensource-src-4.3.4-aliasing.patch 2008-05-24 08:43:26 UTC (rev 1972)
+++ qt-x11-opensource-src-4.3.4-aliasing.patch 2008-05-24 08:51:10 UTC (rev 1973)
@@ -1,17 +0,0 @@
-diff -up qt-x11-opensource-src-4.3.4/src/corelib/thread/qatomic.h.me qt-x11-opensource-src-4.3.4/src/corelib/thread/qatomic.h
---- qt-x11-opensource-src-4.3.4/src/corelib/thread/qatomic.h.me 2008-02-29 16:32:54.000000000 +0100
-+++ qt-x11-opensource-src-4.3.4/src/corelib/thread/qatomic.h 2008-02-29 17:05:03.000000000 +0100
-@@ -178,8 +178,13 @@ struct QBasicAtomicPointer
- #endif // Q_SPECIALIZED_QATOMIC
-
- template <typename T>
-+#if defined(QT_MOC) || defined(QT_BUILD_QMAKE) || defined(QT_UIC)
-+inline T qAtomicSetPtr(T *ptr, T newval)
-+{ T ret = *ptr; *ptr = newval; return ret; }
-+#else
- inline T qAtomicSetPtr(volatile T *ptr, T newval)
- { return static_cast<T>(q_atomic_set_ptr(ptr, newval)); }
-+#endif
-
- // High-level atomic integer operations
- class QAtomic : public QBasicAtomic
Deleted: qt.profile
===================================================================
--- qt.profile 2008-05-24 08:43:26 UTC (rev 1972)
+++ qt.profile 2008-05-24 08:51:10 UTC (rev 1973)
@@ -1,6 +0,0 @@
-export QTDIR=/opt/qt
-export QT_XFT=true
-export QMAKESPEC=$QTDIR/mkspecs/linux-g++
-export PATH=$PATH:$QTDIR/bin
-export MANPATH=$MANPATH:$QTDIR/man
-export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/qt/lib/pkgconfig
Deleted: qt3_pixmap.patch
===================================================================
--- qt3_pixmap.patch 2008-05-24 08:43:26 UTC (rev 1972)
+++ qt3_pixmap.patch 2008-05-24 08:51:10 UTC (rev 1973)
@@ -1,140 +0,0 @@
---- //depot/qt/3/src/kernel/qfontengine_x11.cpp Thu Oct 19 14:41:41 CEST 2006
-+++ //depot/qt/3/src/kernel/qfontengine_x11.cpp Thu Oct 19 14:41:41 CEST 2006
-
-@@ -171,7 +171,8 @@
-
- QRect br = xmat.mapRect(QRect(x, y - si->ascent, w, h));
- QRect br2 = br & pdevRect;
-- if (br2.width() <= 0 || br2.height() <= 0)
-+ if (br2.width() <= 0 || br2.height() <= 0
-+ || br2.width() >= 32768 || br2.height() >= 32768)
- return;
- QWMatrix mat = QPixmap::trueMatrix( xmat, w, h );
- QBitmap wx_bm = ::transform(dpy, bm, br2.x() - br.x(), br2.y() - br.y(), br2.width(), br2.height(), mat);
-
---- //depot/qt/3/src/kernel/qimage.cpp Thu Oct 19 14:41:41 CEST 2006
-+++ //depot/qt/3/src/kernel/qimage.cpp Thu Oct 19 14:41:41 CEST 2006
-
-@@ -475,7 +475,12 @@
- Endian bitOrder )
- {
- init();
-- if ( w <= 0 || h <= 0 || depth <= 0 || numColors < 0 )
-+ int bpl = ((w*depth+31)/32)*4; // bytes per scanline
-+ if ( w <= 0 || h <= 0 || depth <= 0 || numColors < 0
-+ || INT_MAX / sizeof(uchar *) < uint(h)
-+ || INT_MAX / uint(depth) < uint(w)
-+ || bpl <= 0
-+ || INT_MAX / uint(bpl) < uint(h) )
- return; // invalid parameter(s)
- data->w = w;
- data->h = h;
-@@ -483,7 +488,6 @@
- data->ncols = depth != 32 ? numColors : 0;
- if ( !yourdata )
- return; // Image header info can be saved without needing to allocate memory.
-- int bpl = ((w*depth+31)/32)*4; // bytes per scanline
- data->nbytes = bpl*h;
- if ( colortable || !data->ncols ) {
- data->ctbl = colortable;
-@@ -525,7 +529,10 @@
- Endian bitOrder )
- {
- init();
-- if ( !yourdata || w <= 0 || h <= 0 || depth <= 0 || numColors < 0 )
-+ if ( !yourdata || w <= 0 || h <= 0 || depth <= 0 || numColors < 0
-+ || INT_MAX / sizeof(uchar *) < uint(h)
-+ || INT_MAX / uint(bpl) < uint(h)
-+ )
- return; // invalid parameter(s)
- data->w = w;
- data->h = h;
-@@ -1264,7 +1271,7 @@
- if ( data->ncols != numColors ) // could not alloc color table
- return FALSE;
-
-- if ( INT_MAX / depth < width) { // sanity check for potential overflow
-+ if ( INT_MAX / uint(depth) < uint(width) ) { // sanity check for potential overflow
- setNumColors( 0 );
- return FALSE;
- }
-@@ -1277,7 +1284,9 @@
- // #### WWA: shouldn't this be (width*depth+7)/8:
- const int pad = bpl - (width*depth)/8; // pad with zeros
- #endif
-- if (INT_MAX / bpl < height) { // sanity check for potential overflow
-+ if ( INT_MAX / uint(bpl) < uint(height)
-+ || bpl < 0
-+ || INT_MAX / sizeof(uchar *) < uint(height) ) { // sanity check for potential overflow
- setNumColors( 0 );
- return FALSE;
- }
-
---- //depot/qt/3/src/kernel/qpixmap_x11.cpp Thu Oct 19 14:41:41 CEST 2006
-+++ //depot/qt/3/src/kernel/qpixmap_x11.cpp Thu Oct 19 14:41:41 CEST 2006
-
-@@ -953,6 +953,9 @@
- bool force_mono = (dd == 1 || isQBitmap() ||
- (conversion_flags & ColorMode_Mask)==MonoOnly );
-
-+ if ( w >= 32768 || h >= 32768 )
-+ return FALSE;
-+
- // get rid of the mask
- delete data->mask;
- data->mask = 0;
-@@ -1678,11 +1681,11 @@
-
- QPixmap QPixmap::xForm( const QWMatrix &matrix ) const
- {
-- int w = 0;
-- int h = 0; // size of target pixmap
-- int ws, hs; // size of source pixmap
-+ uint w = 0;
-+ uint h = 0; // size of target pixmap
-+ uint ws, hs; // size of source pixmap
- uchar *dptr; // data in target pixmap
-- int dbpl, dbytes; // bytes per line/bytes total
-+ uint dbpl, dbytes; // bytes per line/bytes total
- uchar *sptr; // data in original pixmap
- int sbpl; // bytes per line in original
- int bpp; // bits per pixel
-@@ -1697,19 +1700,24 @@
-
- QWMatrix mat( matrix.m11(), matrix.m12(), matrix.m21(), matrix.m22(), 0., 0. );
-
-+ double scaledWidth;
-+ double scaledHeight;
-+
- if ( matrix.m12() == 0.0F && matrix.m21() == 0.0F ) {
- if ( matrix.m11() == 1.0F && matrix.m22() == 1.0F )
- return *this; // identity matrix
-- h = qRound( matrix.m22()*hs );
-- w = qRound( matrix.m11()*ws );
-- h = QABS( h );
-- w = QABS( w );
-+ scaledHeight = matrix.m22()*hs;
-+ scaledWidth = matrix.m11()*ws;
-+ h = QABS( qRound( scaledHeight ) );
-+ w = QABS( qRound( scaledWidth ) );
- } else { // rotation or shearing
- QPointArray a( QRect(0,0,ws+1,hs+1) );
- a = mat.map( a );
- QRect r = a.boundingRect().normalize();
- w = r.width()-1;
- h = r.height()-1;
-+ scaledWidth = w;
-+ scaledHeight = h;
- }
-
- mat = trueMatrix( mat, ws, hs ); // true matrix
-@@ -1718,7 +1726,8 @@
- bool invertible;
- mat = mat.invert( &invertible ); // invert matrix
-
-- if ( h == 0 || w == 0 || !invertible ) { // error, return null pixmap
-+ if ( h == 0 || w == 0 || !invertible
-+ || QABS(scaledWidth) >= 32768 || QABS(scaledHeight) >= 32768 ) { // error, return null pixmap
- QPixmap pm;
- pm.data->bitmap = data->bitmap;
- return pm;
Deleted: utf8-bug-qt3.diff
===================================================================
--- utf8-bug-qt3.diff 2008-05-24 08:43:26 UTC (rev 1972)
+++ utf8-bug-qt3.diff 2008-05-24 08:51:10 UTC (rev 1973)
@@ -1,101 +0,0 @@
---- src/codecs/qutfcodec.cpp
-+++ src/codecs/qutfcodec.cpp
-@@ -154,6 +154,7 @@
-
- class QUtf8Decoder : public QTextDecoder {
- uint uc;
-+ uint min_uc;
- int need;
- bool headerDone;
- public:
-@@ -167,8 +168,9 @@
- result.setLength( len ); // worst case
- QChar *qch = (QChar *)result.unicode();
- uchar ch;
-+ int error = -1;
- for (int i=0; i<len; i++) {
-- ch = *chars++;
-+ ch = chars[i];
- if (need) {
- if ( (ch&0xc0) == 0x80 ) {
- uc = (uc << 6) | (ch & 0x3f);
-@@ -182,6 +184,8 @@
- *qch++ = QChar(high);
- *qch++ = QChar(low);
- headerDone = TRUE;
-+ } else if ((uc < min_uc) || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
-+ *qch++ = QChar::replacement;
- } else {
- if (headerDone || QChar(uc) != QChar::byteOrderMark)
- *qch++ = uc;
-@@ -190,6 +194,7 @@
- }
- } else {
- // error
-+ i = error;
- *qch++ = QChar::replacement;
- need = 0;
- }
-@@ -200,12 +205,21 @@
- } else if ((ch & 0xe0) == 0xc0) {
- uc = ch & 0x1f;
- need = 1;
-+ error = i;
-+ min_uc = 0x80;
- } else if ((ch & 0xf0) == 0xe0) {
- uc = ch & 0x0f;
- need = 2;
-+ error = i;
-+ min_uc = 0x800;
- } else if ((ch&0xf8) == 0xf0) {
- uc = ch & 0x07;
- need = 3;
-+ error = i;
-+ min_uc = 0x10000;
-+ } else {
-+ // error
-+ *qch++ = QChar::replacement;
- }
- }
- }
---- src/tools/qstring.cpp
-+++ src/tools/qstring.cpp
-@@ -5805,6 +5805,7 @@
- result.setLength( len ); // worst case
- QChar *qch = (QChar *)result.unicode();
- uint uc = 0;
-+ uint min_uc = 0;
- int need = 0;
- int error = -1;
- uchar ch;
-@@ -5822,6 +5823,12 @@
- unsigned short low = uc%0x400 + 0xdc00;
- *qch++ = QChar(high);
- *qch++ = QChar(low);
-+ } else if (uc < min_uc || (uc >= 0xd800 && uc <= 0xdfff) || (uc >= 0xfffe)) {
-+ // overlong seqence, UTF16 surrogate or BOM
-+ i = error;
-+ qch = addOne(qch, result);
-+ *qch++ = QChar(0xdbff);
-+ *qch++ = QChar(0xde00+((uchar)utf8[i]));
- } else {
- *qch++ = uc;
- }
-@@ -5844,14 +5851,17 @@
- uc = ch & 0x1f;
- need = 1;
- error = i;
-+ min_uc = 0x80;
- } else if ((ch & 0xf0) == 0xe0) {
- uc = ch & 0x0f;
- need = 2;
- error = i;
-+ min_uc = 0x800;
- } else if ((ch&0xf8) == 0xf0) {
- uc = ch & 0x07;
- need = 3;
- error = i;
-+ min_uc = 0x10000;
- } else {
- // Error
- qch = addOne(qch, result);
More information about the arch-commits
mailing list