backport selected upstream commits...

- Fix visual index lookup (QTBUG-37813)
- RGB30 fix (QTBUG-25998,#1018566)
- QDBus comparison
This commit is contained in:
Rex Dieter 2014-06-03 17:28:09 -05:00
parent b3dff4a11c
commit 0aff623ddf
4 changed files with 124 additions and 3 deletions

View File

@ -0,0 +1,31 @@
From d0b790dcd02da959cbdfc83d606906cead9e8375 Mon Sep 17 00:00:00 2001
From: David Faure <david.faure@kdab.com>
Date: Sat, 12 Apr 2014 11:25:28 +0200
Subject: [PATCH 10/37] QDbus: Fix (!a == b) comparison
! binds to a, and that is wrong here.
(cherry picked from qtbase/4b7cd57719a637189696d673b014ae785df669bf)
Change-Id: I75542a0c27f39fb6e684dedd9925a1f3748d4919
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
---
src/dbus/qdbuspendingcall.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/dbus/qdbuspendingcall.cpp b/src/dbus/qdbuspendingcall.cpp
index 06597a6..b7def2e 100644
--- a/src/dbus/qdbuspendingcall.cpp
+++ b/src/dbus/qdbuspendingcall.cpp
@@ -225,7 +225,7 @@ void QDBusPendingCallPrivate::checkReceivedSignature()
return; // no signature to validate against
// can't use startsWith here because a null string doesn't start or end with an empty string
- if (!replyMessage.signature().indexOf(expectedReplySignature) == 0) {
+ if (replyMessage.signature().indexOf(expectedReplySignature) != 0) {
QString errorMsg = QLatin1String("Unexpected reply signature: got \"%1\", "
"expected \"%2\"");
replyMessage = QDBusMessage::createError(
--
1.9.3

View File

@ -0,0 +1,43 @@
From 6d76e943dab0971d376cebb15fe531efc60622ac Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@digia.com>
Date: Mon, 5 May 2014 10:59:56 +0200
Subject: [PATCH 25/37] Fix visual index lookup in
QTreeViewPrivate::adjustViewOptionsForIndex().
Determine the visual index by looking up the column of the QModelIndex
in the logicalIndices array instead of looping.
Task-number: QTBUG-37813
Change-Id: I5c3c73c67537877b03cdc2c36a52041d99f7f49d
Reviewed-by: David Faure <david.faure@kdab.com>
(cherry picked from qtbase/85aef2dd4b059d2ba9cba4605d9fef87f3e2c4fc)
---
src/gui/itemviews/qtreeview.cpp | 11 ++---------
tests/auto/qtreeview/tst_qtreeview.cpp | 27 +++++++++++++++++++++++++++
2 files changed, 29 insertions(+), 9 deletions(-)
diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
index f506f48..fdf020e 100644
--- a/src/gui/itemviews/qtreeview.cpp
+++ b/src/gui/itemviews/qtreeview.cpp
@@ -1367,15 +1367,8 @@ void QTreeViewPrivate::adjustViewOptionsForIndex(QStyleOptionViewItemV4 *option,
const int right = (spanning ? header->visualIndex(0) : header->count() - 1 );
calcLogicalIndices(&logicalIndices, &viewItemPosList, left, right);
- int columnIndex = 0;
- for (int visualIndex = 0; visualIndex < current.column(); ++visualIndex) {
- int logicalIndex = header->logicalIndex(visualIndex);
- if (!header->isSectionHidden(logicalIndex)) {
- ++columnIndex;
- }
- }
-
- option->viewItemPosition = viewItemPosList.at(columnIndex);
+ const int visualIndex = logicalIndices.indexOf(current.column());
+ option->viewItemPosition = viewItemPosList.at(visualIndex);
}
--
1.9.3

View File

@ -0,0 +1,33 @@
From 01f42466d37dbbdedd0c2386f2b83c3bc7c3873b Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@digia.com>
Date: Mon, 26 May 2014 09:25:42 +0200
Subject: [PATCH 34/37] Fix raster graphics on X11 RGB30
The window surface incorrectly assumes that any pixel depth of 24 or
above would be on 8bit/color. This breaks 10bit/color formats like
RGB30. This patch instead make it specifically check for color depth 24
or 32 which are the two with 8bit/color.
Task-number: QTBUG-25998
Change-Id: Id0b7e07bdb64679f8c647158938da12efede9142
Reviewed-by: Gunnar Sletta <gunnar.sletta@jollamobile.com>
---
src/gui/painting/qwindowsurface_raster.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp
index ae5a591..1f2b3fe 100644
--- a/src/gui/painting/qwindowsurface_raster.cpp
+++ b/src/gui/painting/qwindowsurface_raster.cpp
@@ -256,7 +256,7 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
{
int depth = widget->x11Info().depth();
const QImage &src = d->image->image;
- if (src.format() != QImage::Format_RGB32 || depth < 24 || X11->bppForDepth.value(depth) != 32) {
+ if (src.format() != QImage::Format_RGB32 || (depth != 24 && depth != 32) || X11->bppForDepth.value(depth) != 32) {
Q_ASSERT(src.depth() >= 16);
const QImage sub_src(src.scanLine(br.y()) + br.x() * (uint(src.depth()) / 8),
br.width(), br.height(), src.bytesPerLine(), src.format());
--
1.9.3

20
qt.spec
View File

@ -25,7 +25,7 @@ Summary: Qt toolkit
Name: qt
Epoch: 1
Version: 4.8.6
Release: 7%{?dist}
Release: 8%{?dist}
# See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details
License: (LGPLv2 with exceptions or GPLv3 with exceptions) and ASL 2.0 and BSD and FTL and MIT
@ -156,10 +156,13 @@ Patch180: qt-aarch64.patch
Patch185: qt-everywhere-opensource-src-4.8-ppc64le_support.patch
## upstream git
Patch210: 0010-QDbus-Fix-a-b-comparison.patch
Patch225: 0025-Fix-visual-index-lookup-in-QTreeViewPrivate-adjustVi.patch
Patch234: 0034-Fix-raster-graphics-on-X11-RGB30.patch
## security patches
# https://bugreports.qt-project.org/browse/QTBUG-38367
Patch200: qt-everywhere-opensource-src-4.8.6-QTBUG-38367.patch
Patch300: qt-everywhere-opensource-src-4.8.6-QTBUG-38367.patch
# desktop files
Source20: assistant.desktop
@ -524,11 +527,16 @@ rm -fv mkspecs/linux-g++*/qmake.conf.multilib-optflags
%patch180 -p1 -b .aarch64
%patch185 -p1 -b .ppc64le
# upstream git
%patch210 -p1 -b .0010
%patch225 -p1 -b .0025
%patch234 -p1 -b .0034
# security fixes
# regression fixes for the security fixes
%patch84 -p1 -b .QTBUG-35459
%patch86 -p1 -b .systemtrayicon
%patch200 -p1 -b .QTBUG-38367
%patch300 -p1 -b .QTBUG-38367
# drop -fexceptions from $RPM_OPT_FLAGS
RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed 's|-fexceptions||g'`
@ -1221,6 +1229,12 @@ fi
%changelog
* Tue Jun 03 2014 Rex Dieter <rdieter@fedoraproject.org> 4.8.6-8
- backport selected upstream commits...
- Fix visual index lookup (QTBUG-37813)
- RGB30 fix (QTBUG-25998,#1018566)
- QDBus comparison
* Wed May 07 2014 Rex Dieter <rdieter@fedoraproject.org> 4.8.6-7
- gcc should be fixed, drop workaround (#1091482)