Hello community, here is the log from the commit of package libqt4 for openSUSE:Factory checked in at 2012-04-17 21:59:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libqt4 (Old) and /work/SRC/openSUSE:Factory/.libqt4.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt4", Maintainer is "dmuel...@suse.com" Changes: -------- --- /work/SRC/openSUSE:Factory/libqt4/libqt4-devel-doc.changes 2012-03-19 09:52:03.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libqt4.new/libqt4-devel-doc.changes 2012-04-17 21:59:19.000000000 +0200 @@ -1,0 +2,12 @@ +Tue Apr 3 16:38:22 CEST 2012 - dmuel...@suse.de + +- add fix for qtextlayout crash triggered in calligra (qt bug 24718) + +------------------------------------------------------------------- +Thu Mar 29 22:43:47 CEST 2012 - dmuel...@suse.de + +- update to 4.8.1: + * extremely long list of forward and backward compatible + bug fixes. see included changes-4.8.1 for details + +------------------------------------------------------------------- libqt4-sql-plugins.changes: same change --- /work/SRC/openSUSE:Factory/libqt4/libqt4.changes 2012-03-19 09:52:03.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libqt4.new/libqt4.changes 2012-04-17 21:59:19.000000000 +0200 @@ -1,0 +2,17 @@ +Thu Apr 5 11:22:02 UTC 2012 - dmuel...@suse.com + +- make tga reader compatible + +------------------------------------------------------------------- +Tue Apr 3 16:38:22 CEST 2012 - dmuel...@suse.de + +- add fix for qtextlayout crash triggered in calligra (qt bug 24718) + +------------------------------------------------------------------- +Thu Mar 29 22:43:47 CEST 2012 - dmuel...@suse.de + +- update to 4.8.1: + * extremely long list of forward and backward compatible + bug fixes. see included changes-4.8.1 for details + +------------------------------------------------------------------- Old: ---- qt-everywhere-opensource-src-4.8.0.tar.gz New: ---- handle-tga-files-properly.diff qt-everywhere-opensource-src-4.8.1.tar.gz qtextlayout-cursorto.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libqt4-devel-doc.spec ++++++ --- /var/tmp/diff_new_pack.4jaed2/_old 2012-04-17 21:59:34.000000000 +0200 +++ /var/tmp/diff_new_pack.4jaed2/_new 2012-04-17 21:59:34.000000000 +0200 @@ -14,7 +14,6 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - # nodebuginfo @@ -35,7 +34,7 @@ %endif # COMMON-VERSION-BEGIN # COMMON-VERSION-BEGIN -Version: 4.8.0 +Version: 4.8.1 Release: 0 %define base_name libqt4 %define tar_version everywhere-opensource-src-%{version} @@ -94,6 +93,8 @@ Patch131: disable-im-for-password.diff Patch132: CVE-2011-3922.diff Patch133: qt-everywhere-opensource-src-4.8.0-gcc-4.7.patch +Patch134: qtextlayout-cursorto.patch +Patch136: handle-tga-files-properly.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 -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 -importdir %plugindir/imports -xsync -xinput -gtkstyle @@ -149,6 +150,8 @@ %patch131 -p1 %patch132 %patch133 -p1 +%patch134 -p1 +%patch136 # ### 47 rediff #%patch121 -p1 # be sure not to use them libqt4-sql-plugins.spec: same change ++++++ libqt4.spec ++++++ --- /var/tmp/diff_new_pack.4jaed2/_old 2012-04-17 21:59:34.000000000 +0200 +++ /var/tmp/diff_new_pack.4jaed2/_new 2012-04-17 21:59:34.000000000 +0200 @@ -16,7 +16,6 @@ # - Name: libqt4 BuildRequires: Mesa-devel BuildRequires: alsa-devel @@ -66,7 +65,7 @@ Provides: qt = 4.4.0 Obsoletes: libqt4-dbus-1 < 4.4.0 # COMMON-VERSION-BEGIN -Version: 4.8.0 +Version: 4.8.1 Release: 0 %define base_name libqt4 %define tar_version everywhere-opensource-src-%{version} @@ -110,6 +109,8 @@ Patch131: disable-im-for-password.diff Patch132: CVE-2011-3922.diff Patch133: qt-everywhere-opensource-src-4.8.0-gcc-4.7.patch +Patch134: qtextlayout-cursorto.patch +Patch136: handle-tga-files-properly.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 -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 -importdir %plugindir/imports -xsync -xinput -gtkstyle @@ -165,6 +166,8 @@ %patch131 -p1 %patch132 %patch133 -p1 +%patch134 -p1 +%patch136 # ### 47 rediff #%patch121 -p1 # be sure not to use them ++++++ handle-tga-files-properly.diff ++++++ --- src/plugins/imageformats/tga/qtgafile.cpp +++ src/plugins/imageformats/tga/qtgafile.cpp @@ -41,6 +41,7 @@ #include "qtgafile.h" +#include <QtCore/QBuffer> #include <QtCore/QIODevice> #include <QtCore/QDebug> #include <QtCore/QDateTime> @@ -264,3 +265,16 @@ QImage QTgaFile::readImage() // TODO: add processing of TGA extension information - ie TGA 2.0 files return im; } +/** + * Checks if device contains a valid tga image, *without* changing device + * position. + */ +bool QTgaFile::canRead(QIODevice *device) +{ + QByteArray header = device->peek(HeaderSize); + if (header.size() < HeaderSize) + return false; + QBuffer buffer(&header); + QTgaFile tga(&buffer); + return tga.isValid(); +} --- src/plugins/imageformats/tga/qtgafile.h +++ src/plugins/imageformats/tga/qtgafile.h @@ -93,6 +93,8 @@ public: inline QSize size() const; inline Compression compression() const; + static bool canRead(QIODevice *device); + private: static inline quint16 littleEndianInt(const unsigned char *d); --- src/plugins/imageformats/tga/qtgahandler.cpp +++ src/plugins/imageformats/tga/qtgahandler.cpp @@ -77,8 +77,7 @@ bool QTgaHandler::canRead(QIODevice *dev qWarning("QTgaHandler::canRead() called with no device"); return false; } - QTgaFile tga(device); - return tga.isValid(); + return QTgaFile::canRead(device); } bool QTgaHandler::read(QImage *image) ++++++ qt-everywhere-opensource-src-4.8.0.tar.gz -> qt-everywhere-opensource-src-4.8.1.tar.gz ++++++ /work/SRC/openSUSE:Factory/libqt4/qt-everywhere-opensource-src-4.8.0.tar.gz /work/SRC/openSUSE:Factory/.libqt4.new/qt-everywhere-opensource-src-4.8.1.tar.gz differ: char 5, line 1 ++++++ qtextlayout-cursorto.patch ++++++ commit cac12f4592477d99ef6fffaad40345bf85ef53b5 Author: Jiang Jiang <jiang.ji...@nokia.com> Date: Mon Apr 2 12:32:05 2012 +0200 Fix a crash in cursorToX() when new block is added When an empty new block is being added, the layoutData->memory data will be 0, thus QTextEngine::attributes() will return 0. We should only access the attributes pointer when some text actually exist. Task-number: QTBUG-24718 Change-Id: I9ce9f7b57bccf24099a02832ce30fb6cebfaad33 diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index ee658d9..16f7150 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -2508,6 +2508,10 @@ qreal QTextLine::cursorToX(int *cursorPos, Edge edge) const int pos = *cursorPos; int itm; const HB_CharAttributes *attributes = eng->attributes(); + if (!attributes) { + *cursorPos = 0; + return x.toReal(); + } while (pos < line.from + line.length && !attributes[pos].charStop) pos++; if (pos == line.from + (int)line.length) { -- To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org For additional commands, e-mail: opensuse-commit+h...@opensuse.org