mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2024-11-08 22:45:43 +00:00
71 lines
3.1 KiB
Diff
71 lines
3.1 KiB
Diff
From f4bc1f620727366b6a977b106cc68fade95ef426 Mon Sep 17 00:00:00 2001
|
|
From: Evangelos Foutras <evangelos@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
|
|
|