123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 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
|