[arch-commits] Commit in qt5-base/trunk (2 files)

Evangelos Foutras foutrelis at archlinux.org
Wed Feb 21 02:41:13 UTC 2018


    Date: Wednesday, February 21, 2018 @ 02:41:13
  Author: foutrelis
Revision: 317338

upgpkg: qt5-base 5.10.1-2

Revert upstream commit which breaks some Deepin components (FS#57531).

Added:
  qt5-base/trunk/revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch
Modified:
  qt5-base/trunk/PKGBUILD

--------------------------------------------------------------+
 PKGBUILD                                                     |   12 +
 revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch |   71 ++++++++++
 2 files changed, 80 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2018-02-20 23:40:57 UTC (rev 317337)
+++ PKGBUILD	2018-02-21 02:41:13 UTC (rev 317338)
@@ -6,7 +6,7 @@
 pkgname=(qt5-base qt5-xcb-private-headers)
 _qtver=5.10.1
 pkgver=${_qtver/-/}
-pkgrel=1
+pkgrel=2
 arch=('x86_64')
 url='http://qt-project.org/'
 license=('GPL3' 'LGPL3' 'FDL' 'custom')
@@ -26,8 +26,10 @@
 conflicts=('qtchooser')
 groups=('qt' 'qt5')
 _pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}"
-source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz")
-sha256sums=('d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969')
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+        revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch)
+sha256sums=('d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969'
+            '7161ea5747500dc9666f8d185f4b8e538799fc0aef574e577277747100ac4763')
 
 prepare() {
   cd ${_pkgfqn}
@@ -45,6 +47,10 @@
 
   # Fix missing private includes https://bugreports.qt.io/browse/QTBUG-37417
   sed -e '/CMAKE_NO_PRIVATE_INCLUDES\ \=\ true/d' -i mkspecs/features/create_cmake.prf
+
+  # Revert upstream commit which breaks some Deepin components (FS#57531)
+  # https://bugreports.qt.io/browse/QTBUG-66226
+  patch -Np1 -i ../revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch
 }
 
 build() {

Added: revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch
===================================================================
--- revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch	                        (rev 0)
+++ revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch	2018-02-21 02:41:13 UTC (rev 317338)
@@ -0,0 +1,71 @@
+From f4bc1f620727366b6a977b106cc68fade95ef426 Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos at foutrelis.com>
+Date: Wed, 21 Feb 2018 04:20:20 +0200
+Subject: [PATCH] Revert "Set sharedPainter correctly for QGraphicsEffect"
+
+This reverts commit 7257862fb2edfab0219d6cd45c83677049404f7d.
+---
+ src/widgets/kernel/qwidget.cpp                      |  4 ++--
+ .../effects/qgraphicseffect/tst_qgraphicseffect.cpp | 21 ---------------------
+ 2 files changed, 2 insertions(+), 23 deletions(-)
+
+diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
+index a973bee2cd..256c77e5a0 100644
+--- a/src/widgets/kernel/qwidget.cpp
++++ b/src/widgets/kernel/qwidget.cpp
+@@ -5482,11 +5482,11 @@ void QWidgetPrivate::drawWidget(QPaintDevice *pdev, const QRegion &rgn, const QP
+                 setSystemClip(pdev->paintEngine(), pdev->devicePixelRatioF(), rgn.translated(offset));
+                 QPainter p(pdev);
+                 p.translate(offset);
+-                context.painter = context.sharedPainter = &p;
++                context.painter = &p;
+                 graphicsEffect->draw(&p);
+                 setSystemClip(pdev->paintEngine(), 1, QRegion());
+             } else {
+-                context.painter = context.sharedPainter = sharedPainter;
++                context.painter = sharedPainter;
+                 if (sharedPainter->worldTransform() != sourced->lastEffectTransform) {
+                     sourced->invalidateCache();
+                     sourced->lastEffectTransform = sharedPainter->worldTransform();
+diff --git a/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp b/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp
+index dfe5baba71..a1cb729849 100644
+--- a/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp
++++ b/tests/auto/widgets/effects/qgraphicseffect/tst_qgraphicseffect.cpp
+@@ -52,7 +52,6 @@ private slots:
+     void boundingRect2();
+     void draw();
+     void opacity();
+-    void nestedOpaqueOpacity();
+     void grayscale();
+     void colorize();
+     void drawPixmapItem();
+@@ -408,26 +407,6 @@ void tst_QGraphicsEffect::opacity()
+     QCOMPARE(effect->m_opacity, qreal(0.5));
+ }
+ 
+-void tst_QGraphicsEffect::nestedOpaqueOpacity()
+-{
+-    // QTBUG-60231: Nesting widgets with a QGraphicsEffect on a toplevel with
+-    // QGraphicsOpacityEffect caused crashes due to constructing several
+-    // QPainter instances on a device in the fast path for
+-    // QGraphicsOpacityEffect::opacity=1
+-    QWidget topLevel;
+-    topLevel.setWindowTitle(QTest::currentTestFunction());
+-    topLevel.resize(320, 200);
+-    QGraphicsOpacityEffect *opacityEffect = new QGraphicsOpacityEffect;
+-    opacityEffect->setOpacity(1);
+-    topLevel.setGraphicsEffect(opacityEffect);
+-    QWidget *child = new QWidget(&topLevel);
+-    child->resize(topLevel.size() / 2);
+-    QGraphicsDropShadowEffect *childEffect = new QGraphicsDropShadowEffect;
+-    child->setGraphicsEffect(childEffect);
+-    topLevel.show();
+-    QVERIFY(QTest::qWaitForWindowExposed(&topLevel));
+-}
+-
+ void tst_QGraphicsEffect::grayscale()
+ {
+     if (qApp->desktop()->depth() < 24)
+-- 
+2.16.2
+



More information about the arch-commits mailing list