Hello community,

here is the log from the commit of package libqt4 for openSUSE:11.3
checked in at Tue Aug 30 19:17:50 CEST 2011.



--------
--- old-versions/11.3/UPDATES/all/libqt4/libqt4-devel-doc-data.changes  
2010-07-21 13:00:09.000000000 +0200
+++ 11.3/libqt4/libqt4-devel-doc-data.changes   2011-08-19 16:36:46.895606269 
+0200
@@ -1,0 +2,20 @@
+Fri Aug 19 16:34:41 CEST 2011 - dmuel...@suse.de
+
+- fix QFileDialog not showing system files (bnc#669604)
+
+-------------------------------------------------------------------
+Sat Jul  9 10:23:56 CEST 2011 - dmuel...@suse.de
+
+- fix reading of tiff images with multiple samples (bnc#637275)
+
+-------------------------------------------------------------------
+Tue Jul  5 16:29:30 CEST 2011 - dmuel...@suse.de
+
+- fix font fallback handling (bnc#643848)
+
+-------------------------------------------------------------------
+Thu Feb  3 18:03:36 CET 2011 - dmuel...@suse.de
+
+- add support for postgresql 8.3 and 9 (bnc#668210)
+
+-------------------------------------------------------------------
@@ -28,0 +49,6 @@
+
+-------------------------------------------------------------------
+Wed Apr 21 14:16:24 UTC 2010 - mcarr...@novell.com
+
+- Path added:
+  + bnc#592962 - Set application icon. 
libqt4-devel-doc.changes: same change
libqt4-sql-plugins.changes: same change
libqt4.changes: same change

calling whatdependson for 11.3-i586


New:
----
  fix-font-fallback.diff
  fix-psql.diff
  qtbug-15295-qfiledialog-system-filter-regression.diff
  tiff-samples-reader-crash.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libqt4-devel-doc-data.spec ++++++
--- /var/tmp/diff_new_pack.d1LBdt/_old  2011-08-30 19:17:08.000000000 +0200
+++ /var/tmp/diff_new_pack.d1LBdt/_new  2011-08-30 19:17:08.000000000 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package libqt4-devel-doc-data (Version 4.6.3)
+# spec file for package libqt4-devel-doc-data
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -28,7 +28,7 @@
 # COMMON-VERSION-BEGIN
 # COMMON-VERSION-BEGIN
 Version:        4.6.3
-Release:        2.<RELEASE1>
+Release:        2.<RELEASE3>
 %define base_name libqt4
 %define x11_free  -everywhere-opensource-src-
 %define rversion 4.6.3
@@ -80,6 +80,10 @@
 Patch118:       rcc-stable-dirlisting.diff
 Patch119:       SSL-error-endless-loop.diff
 Patch120:       qtwebkit-initialize-gtk.diff
+Patch121:       fix-psql.diff
+Patch122:       fix-font-fallback.diff
+Patch123:       tiff-samples-reader-crash.diff
+Patch124:       qtbug-15295-qfiledialog-system-filter-regression.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
   %define common_options --opensource -fast -no-separate-debug-info -shared 
-xkb -xrender -xcursor -dbus-linked -xfixes -xrandr -xinerama -sm -no-nas-sound 
-no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis 
-system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir 
%_docdir/%{base_name} -examplesdir %_libdir/qt4/examples -demosdir 
%_libdir/qt4/demos -plugindir %plugindir -translationdir 
/usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir 
/usr/share/qt4/ -no-pch -reduce-relocations -exceptions -system-libtiff -glib 
-optimized-qmake -no-webkit -no-xmlpatterns -system-sqlite -qt3support 
-no-sql-mysql -xsync -xinput -gtkstyle
 %define check_config \
@@ -98,7 +102,7 @@
 
 Authors:
 --------
-    Qt Software
+    Troll Tech AS, Norway
 
 %prep
 %define plugindir %_libdir/qt4/plugins
@@ -134,6 +138,10 @@
 %patch118 -p1
 %patch119 -p1
 %patch120
+%patch121
+%patch122
+%patch123
+%patch124
 # be sure not to use them
 rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib,libtiff}
 # COMMON-END

libqt4-devel-doc.spec: same change
libqt4-sql-plugins.spec: same change
++++++ libqt4.spec ++++++
--- /var/tmp/diff_new_pack.d1LBdt/_old  2011-08-30 19:17:08.000000000 +0200
+++ /var/tmp/diff_new_pack.d1LBdt/_new  2011-08-30 19:17:08.000000000 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package libqt4 (Version 4.6.3)
+# spec file for package libqt4
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -35,8 +35,8 @@
 BuildRequires:  gstreamer-0_10-plugins-base-devel libxine-devel
 %endif
 %endif
-Url:            http://www.qtsoftware.com
-License:        GPLv3 ; LGPLv2.1+
+Url:            http://www.trolltech.com
+License:        GPL v2 only; GPL v3 only
 Group:          System/Libraries
 AutoReqProv:    on
 Summary:        C++ Program Library, Core Components
@@ -54,7 +54,7 @@
 Obsoletes:      libqt4-dbus-1 < 4.4.0
 # COMMON-VERSION-BEGIN
 Version:        4.6.3
-Release:        2.<RELEASE1>
+Release:        2.<RELEASE3>
 %define base_name libqt4
 %define x11_free  -everywhere-opensource-src-
 %define rversion 4.6.3
@@ -97,6 +97,10 @@
 Patch118:       rcc-stable-dirlisting.diff
 Patch119:       SSL-error-endless-loop.diff
 Patch120:       qtwebkit-initialize-gtk.diff
+Patch121:       fix-psql.diff
+Patch122:       fix-font-fallback.diff
+Patch123:       tiff-samples-reader-crash.diff
+Patch124:       qtbug-15295-qfiledialog-system-filter-regression.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
   %define common_options --opensource -fast -no-separate-debug-info -shared 
-xkb -xrender -xcursor -dbus-linked -xfixes -xrandr -xinerama -sm -no-nas-sound 
-no-rpath -system-libjpeg -system-libpng -accessibility -cups -stl -nis 
-system-zlib -qt-gif -prefix /usr -L %_libdir -libdir %_libdir -docdir 
%_docdir/%{base_name} -examplesdir %_libdir/qt4/examples -demosdir 
%_libdir/qt4/demos -plugindir %plugindir -translationdir 
/usr/share/qt4/translations -iconv -sysconfdir /etc/settings -datadir 
/usr/share/qt4/ -no-pch -reduce-relocations -exceptions -system-libtiff -glib 
-optimized-qmake -no-webkit -no-xmlpatterns -system-sqlite -qt3support 
-no-sql-mysql -xsync -xinput -gtkstyle
 %define check_config \
@@ -115,7 +119,7 @@
 
 Authors:
 --------
-    Qt Software
+    Troll Tech AS, Norway
 
 %prep
 %define plugindir %_libdir/qt4/plugins
@@ -151,12 +155,16 @@
 %patch118 -p1
 %patch119 -p1
 %patch120
+%patch121
+%patch122
+%patch123
+%patch124
 # be sure not to use them
 rm -rf src/3rdparty/{libjpeg,freetype,libpng,zlib,libtiff}
 # COMMON-END
 
 %package devel
-License:        GPLv2 ; GPLv3
+License:        GPL v2 only; GPL v3 only
 Group:          Development/Libraries/X11
 Summary:        Qt Development Kit
 Requires:       zlib-devel c++_compiler pkgconfig
@@ -189,10 +197,10 @@
 
 Authors:
 --------
-    Qt Software
+    Troll Tech AS, Norway
 
 %package -n libqt4-sql-sqlite
-License:        GPLv2 ; GPLv3
+License:        GPL v2 only; GPL v3 only
 Group:          Development/Libraries/C and C++
 Summary:        Qt 4 sqlite plugin
 Requires:       libqt4-sql = %version
@@ -208,10 +216,10 @@
 
 Authors:
 --------
-    Qt Software
+    Troll Tech AS, Norway
 
 %package x11
-License:        GPLv2 ; GPLv3
+License:        GPL v2 only; GPL v3 only
 Group:          Development/Libraries/C and C++
 Summary:        Qt 4 GUI related libraries
 # bug437293
@@ -230,12 +238,12 @@
 
 Authors:
 --------
-    Qt Software
+    Troll Tech AS, Norway
 
 %if %with_qt3support
 
 %package qt3support
-License:        GPLv2 ; GPLv3
+License:        GPL v2 only; GPL v3 only
 Group:          System/Libraries
 Summary:        C++ Program Library, Core Components
 # bug437293
@@ -257,12 +265,12 @@
 
 Authors:
 --------
-    Qt Software
+    Troll Tech AS, Norway
 
 %endif
 
 %package sql
-License:        GPLv2 ; GPLv3
+License:        GPL v2 only; GPL v3 only
 Group:          Development/Libraries/C and C++
 Summary:        Qt 4 SQL related libraries
 # bug437293
@@ -284,52 +292,50 @@
 
 Authors:
 --------
-    Qt Software
+    Troll Tech AS, Norway
 
 %package -n libQtWebKit4
-License:        GPLv2 ; GPLv3
-Group:          Development/Libraries/C and C++
-Summary:        Open source Web Browser engine based on Qt4
+License:        GPL v2 only
+Group:          System/Libraries
+Summary:        C++ Program Library, Core Components
 Requires:       libqt4-x11 = %version
 
 %description -n libQtWebKit4
-WebKit is an open source web browser engine. WebKit's HTML and JavaScript
-code began as a branch of the KHTML and KJS libraries from KDE. As part of
-KDE framework KHTML was based on Qt but during their porting efforts Apple's
-engineers made WebKit toolkit independent. WebKit Qt is a project aiming at
-porting this fabulous engine back to Qt.
+Qt is a set of libraries for developing applications.
+
+This package contains base tools, like string, xml, and network
+handling.
 
 
 
 Authors:
 --------
-    Qt Software
-
+    Troll Tech AS, Norway
 
 %package -n libQtWebKit-devel
-License:        GPLv2 ; GPLv3
-Group:          Development/Libraries/C and C++
-Summary:        Open source Web Browser engine based on Qt4
+License:        GPL v2 only; GPL v3 only
+Group:          System/Libraries
+Summary:        C++ Program Library, Core Components
 Requires:       libQtWebKit4 = %version
 Requires:       libqt4-devel = %version
 
 %description -n libQtWebKit-devel
-WebKit is an open source web browser engine. WebKit's HTML and JavaScript
-code began as a branch of the KHTML and KJS libraries from KDE. As part of
-KDE framework KHTML was based on Qt but during their porting efforts Apple's
-engineers made WebKit toolkit independent. WebKit Qt is a project aiming at
-porting this fabulous engine back to Qt.
+Qt is a set of libraries for developing applications.
+
+This package contains base tools, like string, xml, and network
+handling.
 
 
 
 Authors:
 --------
-    Qt Software
+    Troll Tech AS, Norway
 
 %if %with_phonon
 
 %package -n phonon
-License:        LGPLv2.0+
+
+License:        LGPL v2.0 or later
 Summary:        Phonon Multimedia Platform Abstraction
 Group:          Development/Libraries/KDE
 Requires:       phonon-backend = %version
@@ -348,7 +354,8 @@
     Matthias Kretz
 
 %package -n phonon-devel
-License:        LGPLv2.0+
+
+License:        LGPL v2.0 or later
 Summary:        Phonon Multimedia Platform Abstraction
 Group:          Development/Libraries/KDE
 Requires:       %name = %version
@@ -368,7 +375,8 @@
     Matthias Kretz
 
 %package -n libphonon4
-License:        LGPLv2.0+
+
+License:        LGPL v2.0 or later
 Summary:        Phonon Multimedia Platform Abstraction
 Group:          Development/Libraries/KDE
 %requires_ge    libqt4-x11
@@ -388,7 +396,8 @@
 %if %with_phonon_backend
 
 %package -n phonon-backend-gstreamer-0_10
-License:        LGPLv2.0+
+
+License:        LGPL v2.0 or later
 Summary:        Phonon Multimedia Platform Abstraction
 Group:          Development/Libraries/KDE
 Provides:       phonon-backend = %version
@@ -408,7 +417,8 @@
 
 
 %package -n phonon-backend-xine
-License:        LGPLv2.0+
+
+License:        LGPL v2.0 or later
 Summary:        Phonon Multimedia Platform Abstraction
 Group:          Development/Libraries/KDE
 Provides:       phonon-backend = %version



++++++ fix-font-fallback.diff ++++++
>From 4da9590140c063551f261b883fb275cafe986b60 Mon Sep 17 00:00:00 2001
From: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfe...@nokia.com>
Date: Tue, 30 Mar 2010 07:19:47 +0200
Subject: [PATCH] Fix use of bitmap fonts on some Linux systems

In 30bd59a1dec78 we added a fallback from font config
to XLFD in the case where font config could not supply
us with the correct pixel size for a given font.
Primarily, this was for when you would try to print
a bitmap font on a high resolution printer. This caused
a problem for applications that set a point size on
a bitmap font, since the calculated pixel size would
not be available. For UIs you will usually prefer to
select the font with the correct family but nearest
pixel size here, which is what font config does. We
would however choose the fallback and if XLFD failed
to load the font in question, you would get a
substitution. Since getting the correct font family
seems more important than getting the correct pixel
size, we disable the fallback in the case where XLFD
does not find the correct font. This will fix the bug
where UI fonts were frequently created with the wrong
family on e.g. Fedora, and it might cause some trouble
with printing bitmap fonts, however, it was deemed
that bitmap fonts are not ideal fonts to use for
printing. In cases where XLFD can load the bitmap
fonts, the fallback will still be used.

Task-number: QTBUG-4428
Reviewed-by: Trond
---
 src/gui/text/qfontdatabase_x11.cpp |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

--- src/gui/text/qfontdatabase_x11.cpp
+++ src/gui/text/qfontdatabase_x11.cpp
@@ -1939,8 +1939,13 @@ void QFontDatabase::load(const QFontPrivate *d, int 
script)
             fe = loadFc(d, script, req);
 
             if (fe != 0 && fe->fontDef.pixelSize != req.pixelSize) {
-                delete fe;
-                fe = loadXlfd(d->screen, script, req);
+                QFontEngine *xlfdFontEngine = loadXlfd(d->screen, script, req);
+                if (xlfdFontEngine->fontDef.family == fe->fontDef.family) {
+                    delete fe;
+                    fe = xlfdFontEngine;
+                } else {
+                    delete xlfdFontEngine;
+                }
             }
 
 
++++++ fix-psql.diff ++++++
--- src/sql/drivers/psql/qsql_psql.cpp
+++ src/sql/drivers/psql/qsql_psql.cpp
@@ -54,7 +54,6 @@
 #include <qstringlist.h>
 #include <qmutex.h>
 
-
 #include <libpq-fe.h>
 #include <pg_config.h>
 
@@ -619,6 +618,50 @@
     PQclear(result);
 }
 
+static QPSQLDriver::Protocol qMakePSQLVersion(int vMaj, int vMin)
+{
+    switch (vMaj) {
+    case 6:
+        return QPSQLDriver::Version6;
+    case 7:
+    {
+        switch (vMin) {
+        case 1:
+            return QPSQLDriver::Version71;
+        case 3:
+            return QPSQLDriver::Version73;
+        case 4:
+            return QPSQLDriver::Version74;
+        default:
+            return QPSQLDriver::Version7;
+        }
+        break;
+    }
+    case 8:
+    {
+        switch (vMin) {
+        case 1:
+            return QPSQLDriver::Version81;
+        case 2:
+            return QPSQLDriver::Version82;
+        case 3:
+            return QPSQLDriver::Version83;
+        case 4:
+            return QPSQLDriver::Version84;
+        default:
+            return QPSQLDriver::Version8;
+        }
+        break;
+    }
+    case 9:
+        return QPSQLDriver::Version9;
+        break;
+    default:
+        break;
+    }
+    return QPSQLDriver::VersionUnknown;
+}
+
 static QPSQLDriver::Protocol getPSQLVersion(PGconn* connection)
 {
     QPSQLDriver::Protocol serverVersion = QPSQLDriver::Version6;
@@ -626,50 +669,44 @@
     int status = PQresultStatus(result);
     if (status == PGRES_COMMAND_OK || status == PGRES_TUPLES_OK) {
         QString val = QString::fromAscii(PQgetvalue(result, 0, 0));
+
         QRegExp rx(QLatin1String("(\\d+)\\.(\\d+)"));
         rx.setMinimal(true); // enforce non-greedy RegExp
+
         if (rx.indexIn(val) != -1) {
             int vMaj = rx.cap(1).toInt();
             int vMin = rx.cap(2).toInt();
+            serverVersion = qMakePSQLVersion(vMaj, vMin);
+#ifdef PG_MAJORVERSION
+            if (rx.indexIn(QLatin1String(PG_MAJORVERSION)) != -1) {
+                vMaj = rx.cap(1).toInt();
+                vMin = rx.cap(2).toInt();
+            }
+            QPSQLDriver::Protocol clientVersion = qMakePSQLVersion(vMaj, vMin);
 
-            switch (vMaj) {
-            case 7:
-                switch (vMin) {
-                case 0:
-                    serverVersion = QPSQLDriver::Version7;
-                    break;
-                case 1:
-                case 2:
-                    serverVersion = QPSQLDriver::Version71;
-                    break;
-                default:
-                    serverVersion = QPSQLDriver::Version73;
-                    break;
-                }
-                break;
-            case 8:
-                switch (vMin) {
-                case 0:
-                    serverVersion = QPSQLDriver::Version8;
-                    break;
-                case 1:
-                    serverVersion = QPSQLDriver::Version81;
-                    break;
-                case 2:
-                default:
-                    serverVersion = QPSQLDriver::Version82;
-                    break;
-                }
-                break;
-            default:
-                break;
+            if (serverVersion >= QPSQLDriver::Version9 && clientVersion < 
QPSQLDriver::Version9) {
+                //Client version before QPSQLDriver::Version9 only supports 
escape mode for bytea type,
+                //but bytea format is set to hex by default in PSQL 9 and 
above. So need to force the
+                //server use the old escape mode when connects to the new 
server with old client library.
+                result = PQexec(connection, "SET bytea_output=escape; ");
+                status = PQresultStatus(result);
+            } else if (serverVersion == QPSQLDriver::VersionUnknown) {
+                serverVersion = clientVersion;
+                if (serverVersion != QPSQLDriver::VersionUnknown)
+                   qWarning("The server version of this PostgreSQL is unknown, 
falling back to the client version.");
             }
+#endif
         }
     }
     PQclear(result);
 
-    if (serverVersion < QPSQLDriver::Version71)
+    //keep the old behavior unchanged
+    if (serverVersion == QPSQLDriver::VersionUnknown)
+        serverVersion = QPSQLDriver::Version6;
+
+    if (serverVersion < QPSQLDriver::Version71) {
         qWarning("This version of PostgreSQL is not supported and may not 
work.");
+    }
 
     return serverVersion;
 }
@@ -852,7 +889,10 @@
     // This hack can dissapear once there is an API to query this sort of 
information.
     if (d->pro == QPSQLDriver::Version8 ||
         d->pro == QPSQLDriver::Version81 ||
-        d->pro == QPSQLDriver::Version82) {
+        d->pro == QPSQLDriver::Version82 ||
+        d->pro == QPSQLDriver::Version83 ||
+        d->pro == QPSQLDriver::Version84 ||
+        d->pro == QPSQLDriver::Version9) {
         transaction_failed = qstrcmp(PQcmdStatus(res), "ROLLBACK") == 0;
     }
 
@@ -963,6 +1003,9 @@
     case QPSQLDriver::Version8:
     case QPSQLDriver::Version81:
     case QPSQLDriver::Version82:
+    case QPSQLDriver::Version83:
+    case QPSQLDriver::Version84:
+    case QPSQLDriver::Version9:
         stmt = QLatin1String("SELECT pg_attribute.attname, 
pg_attribute.atttypid::int, "
                 "pg_class.relname "
                 "FROM pg_attribute, pg_class "
@@ -978,6 +1021,9 @@
             stmt = stmt.arg(QString::fromLatin1("pg_class.relnamespace = 
(select oid from "
                    "pg_namespace where pg_namespace.nspname = '%1') AND 
").arg(schema));
         break;
+    case QPSQLDriver::VersionUnknown:
+        qFatal("PSQL version is unknown");
+        break;
     }
 
     i.exec(stmt.arg(tbl));
@@ -1046,6 +1092,9 @@
     case QPSQLDriver::Version8:
     case QPSQLDriver::Version81:
     case QPSQLDriver::Version82:
+    case QPSQLDriver::Version83:
+    case QPSQLDriver::Version84:
+    case QPSQLDriver::Version9:
         stmt = QLatin1String("select pg_attribute.attname, 
pg_attribute.atttypid::int, "
                 "pg_attribute.attnotnull, pg_attribute.attlen, 
pg_attribute.atttypmod, "
                 "pg_attrdef.adsrc "
@@ -1064,6 +1113,9 @@
             stmt = stmt.arg(QString::fromLatin1("pg_class.relnamespace = 
(select oid from "
                    "pg_namespace where pg_namespace.nspname = 
'%1')").arg(schema));
         break;
+    case QPSQLDriver::VersionUnknown:
+        qFatal("PSQL version is unknown");
+        break;
     }
 
     QSqlQuery query(createResult());
--- src/sql/drivers/psql/qsql_psql.h
+++ src/sql/drivers/psql/qsql_psql.h
@@ -97,6 +97,7 @@
     Q_OBJECT
 public:
     enum Protocol {
+        VersionUnknown = -1,
         Version6 = 6,
         Version7 = 7,
         Version71 = 8,
@@ -104,7 +105,10 @@
         Version74 = 10,
         Version8 = 11,
         Version81 = 12,
-        Version82 = 13
+        Version82 = 13,
+        Version83 = 14,
+        Version84 = 15,
+        Version9 = 16,
     };
 
     explicit QPSQLDriver(QObject *parent=0);

++++++ qtbug-15295-qfiledialog-system-filter-regression.diff ++++++
--- src/gui/dialogs/qfileinfogatherer_p.h
+++ src/gui/dialogs/qfileinfogatherer_p.h
@@ -125,9 +125,11 @@
         qint64 size = -1;
         if (type() == QExtendedInformation::Dir)
             size = 0;
-        if (type() == QExtendedInformation::File)
+        else if (type() == QExtendedInformation::System)
             size = mFileInfo.size();
-        if (!mFileInfo.exists() && !mFileInfo.isSymLink())
+        else if (type() == QExtendedInformation::File)
+            size = mFileInfo.size();
+        else if (!mFileInfo.exists() && !mFileInfo.isSymLink())
             size = -1;
         return size;
     }
++++++ tiff-samples-reader-crash.diff ++++++
commit cb6380beb81ab9571c547270c144988781fed465
Author: Luboš Luňák <l.lu...@suse.cz>
Date:   Tue Sep 7 12:07:34 2010 +0200

    fix tiff reader to handle TIFFTAG_SAMPLESPERPIXEL for grayscale images
    
    This commit fixes reading a .tiff file from ImageMagick which reports
    the following:
    TIFFTAG_BITSPERSAMPLE = 8
    TIFFTAG_SAMPLESPERPIXEL = 2
    TIFFTAG_PHOTOMETRIC = PHOTOMETRIC_MINISBLACK
    The reader uses QImage::Format_Indexed8, but since the samples per pixel
    value this should be (non-existent) QImage::Format_Indexed16, causing
    memory corruption. The fix falls back to the "normal" way of reading
    tiff images.
    
    Merge-request: 2467
    Reviewed-by: Samuel Rødal <samuel.ro...@nokia.com>

--- src/plugins/imageformats/tiff/qtiffhandler.cpp
+++ src/plugins/imageformats/tiff/qtiffhandler.cpp
@@ -196,9 +196,12 @@ bool QTiffHandler::read(QImage *image)
     uint16 bitPerSample;
     if (!TIFFGetField(tiff, TIFFTAG_BITSPERSAMPLE, &bitPerSample))
         bitPerSample = 1;
+    uint16 samplesPerPixel; // they may be e.g. grayscale with 2 samples per 
pixel
+    if (!TIFFGetField(tiff, TIFFTAG_SAMPLESPERPIXEL, &samplesPerPixel))
+        samplesPerPixel = 1;
 
     bool grayscale = photometric == PHOTOMETRIC_MINISBLACK || photometric == 
PHOTOMETRIC_MINISWHITE;
-    if (grayscale && bitPerSample == 1) {
+    if (grayscale && bitPerSample == 1 && samplesPerPixel == 1) {
         if (image->size() != QSize(width, height) || image->format() != 
QImage::Format_Mono)
             *image = QImage(width, height, QImage::Format_Mono);
         QVector<QRgb> colortable(2);
@@ -220,7 +223,7 @@ bool QTiffHandler::read(QImage *image)
             }
         }
     } else {
-        if ((grayscale || photometric == PHOTOMETRIC_PALETTE) && bitPerSample 
== 8) {
+        if ((grayscale || photometric == PHOTOMETRIC_PALETTE) && bitPerSample 
== 8 && samplesPerPixel == 1) {
             if (image->size() != QSize(width, height) || image->format() != 
QImage::Format_Indexed8)
                 *image = QImage(width, height, QImage::Format_Indexed8);
             if (!image->isNull()) {
++++++ webkit-ia64_s390x.patch ++++++
--- /var/tmp/diff_new_pack.d1LBdt/_old  2011-08-30 19:17:13.000000000 +0200
+++ /var/tmp/diff_new_pack.d1LBdt/_new  2011-08-30 19:17:13.000000000 +0200
@@ -23,8 +23,8 @@
  #define WTF_USE_JSVALUE64 1
 --- src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
 +++ src/3rdparty/webkit/JavaScriptCore/wtf/Platform.h
-@@ -367,6 +367,11 @@
- #define WTF_PLATFORM_ALPHA 1
+@@ -362,6 +362,11 @@
+ #define WTF_PLATFORM_IA64 1
  #endif
  
 +/* PLATFORM(S390X) */
@@ -32,9 +32,9 @@
 +#define WTF_PLATFORM_S390X 1
 +#endif
 +
- /* PLATFORM(SH4) */
- #if defined(__SH4__)
- #define WTF_PLATFORM_SH4 1
+ /* PLATFORM(ALPHA) */
+ #if defined(__alpha__)
+ #define WTF_PLATFORM_ALPHA 1
 @@ -729,7 +734,7 @@
  #endif
  


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to