Skip to content
Snippets Groups Projects
Commit 22745be2 authored by Eric Vidal's avatar Eric Vidal :speech_balloon:
Browse files

upgpkg : 5.11.0-2

parent 8b9e7c4d
No related branches found
No related tags found
No related merge requests found
...@@ -5,15 +5,15 @@ ...@@ -5,15 +5,15 @@
pkgbase=qt5-base pkgbase=qt5-base
pkgname=(qt5-base qt5-xcb-private-headers) pkgname=(qt5-base qt5-xcb-private-headers)
_qtver=5.10.1 _qtver=5.11.0
pkgver=${_qtver/-/} pkgver=${_qtver/-/}
pkgrel=10 pkgrel=2
arch=(x86_64) arch=(x86_64)
url='http://qt-project.org/' url='http://qt-project.org/'
license=('GPL3' 'LGPL3' 'FDL' 'custom') license=('GPL3' 'LGPL3' 'FDL' 'custom')
pkgdesc='A cross-platform application and UI framework' pkgdesc='A cross-platform application and UI framework'
depends=('libjpeg-turbo' 'xcb-util-keysyms' 'xcb-util-renderutil' 'libgl' 'fontconfig' 'xdg-utils' depends=('libjpeg-turbo' 'xcb-util-keysyms' 'xcb-util-renderutil' 'libgl' 'fontconfig' 'xdg-utils' 'shared-mime-info'
'xcb-util-wm' 'libxrender' 'libxi' 'sqlite' 'xcb-util-image' 'icu' 'pcre2' 'shared-mime-info' 'xcb-util-wm' 'libxrender' 'libxi' 'sqlite' 'xcb-util-image' 'icu' 'pcre2'
'tslib' 'libinput' 'libsm' 'libxkbcommon-x11' 'libproxy' 'libcups' 'double-conversion') 'tslib' 'libinput' 'libsm' 'libxkbcommon-x11' 'libproxy' 'libcups' 'double-conversion')
makedepends=('libfbclient' 'libmariadbclient' 'sqlite' 'unixodbc' 'postgresql-libs' 'alsa-lib' 'gst-plugins-base-libs' makedepends=('libfbclient' 'libmariadbclient' 'sqlite' 'unixodbc' 'postgresql-libs' 'alsa-lib' 'gst-plugins-base-libs'
'gtk3' 'libpulse' 'cups' 'freetds' 'vulkan-headers' 'icu') 'gtk3' 'libpulse' 'cups' 'freetds' 'vulkan-headers' 'icu')
...@@ -28,17 +28,9 @@ conflicts=('qtchooser') ...@@ -28,17 +28,9 @@ conflicts=('qtchooser')
groups=('qt' 'qt5') groups=('qt' 'qt5')
_pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}" _pkgfqn="${pkgbase/5-/}-everywhere-src-${_qtver}"
source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
"revert-Set-sharedPainter-correctly-for-QGraphicsEffect.patch" qt-private-includes.patch::"http://code.qt.io/cgit/qt/qtbase.git/patch/?id=67aa365d")
"qtbug-65478.patch" sha256sums=('ed6e46db84f7d34923ab4eae165c63e05ab3cfa9d19a73d3f57b4e7bfd41de66'
qheaderview-restore.patch::"https://code.qt.io/cgit/qt/qtbase.git/patch/?id=4a04eea4" 'bf6e52cc613599ff3dc756113ffb61aa1896a84abefbe69f42bdb846202d1f71')
qtbug-66444.patch::"https://code.qt.io/cgit/qt/qtbase.git/patch/?id=9395f35c"
qtbug-66420.patch::"https://code.qt.io/cgit/qt/qtbase.git/patch/?id=fa091640"
qtbug-66816.patch::"https://code.qt.io/cgit/qt/qtbase.git/patch/?id=e4e87a2e")
sha256sums=('d8660e189caa5da5142d5894d328b61a4d3ee9750b76d61ad74e4eee8765a969'
'e98cb66de308f85ef2d8e05062ada4d1ca4d88ebe836281489d5c0c9c2495a4b'
'9afdfc018c3894f12e7a01a8221d9f7be9feba00902d98f0e6a09612b68b2619'
'3a1016cbf8c3c4676e6fc406756ffa5a151ffe09153dfc0fa7ed3c16945b0ae5'
'88766a7b73a03e1219800c8fdc56afbf23b15d16cc61c4d77547b1fd2404ea6e')
validpgpkeys=('6DD4217456569BA711566AC7F06E8FDE7B45DAAC') # Eric Vidal validpgpkeys=('6DD4217456569BA711566AC7F06E8FDE7B45DAAC') # Eric Vidal
prepare() { prepare() {
...@@ -56,26 +48,8 @@ prepare() { ...@@ -56,26 +48,8 @@ prepare() {
's|#![ ]*/usr/bin/python$|&2|;s|#![ ]*/usr/bin/env python$|&2|' {} + 's|#![ ]*/usr/bin/python$|&2|;s|#![ ]*/usr/bin/env python$|&2|' {} +
# Fix missing private includes https://bugreports.qt.io/browse/QTBUG-37417 # 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 patch -p1 -i ../qt-private-includes.patch
# 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
# Fix kexi crash at startup http://bugreports.qt.io/browse/QTBUG-65478
patch -p1 -i ../qtbug-65478.patch
# Fix restoring column status in kmail and ksysguard
patch -p1 -i ../qheaderview-restore.patch
# Fix QHeaderView regression https://bugreports.qt.io/browse/QTBUG-66444
patch -p1 -i ../qtbug-66444.patch
# Fix white screen with Mesa 18 https://bugreports.qt.io/browse/QTBUG-66420
patch -p1 -i ../qtbug-66420.patch
# Fix crashes in QSqlite http://bugreports.qt.io/browse/QTBUG-66816
patch -p1 -i ../qtbug-66816.patch
} }
build() { build() {
......
From 4a04eea4f4316684e20c509352c6c533cf39306e Mon Sep 17 00:00:00 2001
From: David Faure <david.faure@kdab.com>
Date: Thu, 1 Mar 2018 11:04:00 +0100
Subject: QHeaderView: fix inconsistent saved state, ignored during restore
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The code that updates a section size must also update length,
otherwise saveState can end up saving inconsistent state, and
restoreState() goes to an early-return, not doing anything.
The actual bug was fixed meanwhile because _q_sectionsChanged is called
again, which recalculates length. I still see this only as a safety
measure, every other code path that changes section sizes updates length
right away.
Change-Id: I6cc16261692d93b3640afafef600a5bdff8dca0c
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
---
src/widgets/itemviews/qheaderview.cpp | 6 ++-
.../widgets/itemviews/qtreeview/tst_qtreeview.cpp | 53 ++++++++++++++++++++++
2 files changed, 58 insertions(+), 1 deletion(-)
diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
index 5cbf642802..b7048d1616 100644
--- a/src/widgets/itemviews/qheaderview.cpp
+++ b/src/widgets/itemviews/qheaderview.cpp
@@ -2191,7 +2191,11 @@ void QHeaderViewPrivate::_q_sectionsAboutToBeChanged(const QList<QPersistentMode
if (stretchLastSection && lastSectionLogicalIdx >= 0 && lastSectionLogicalIdx < sectionItems.count()) {
const int visual = visualIndex(lastSectionLogicalIdx);
if (visual >= 0 && visual < sectionItems.size()) {
- sectionItems[visual].size = lastSectionSize;
+ auto &itemRef = sectionItems[visual];
+ if (itemRef.size != lastSectionSize) {
+ length += lastSectionSize - itemRef.size;
+ itemRef.size = lastSectionSize;
+ }
}
}
for (int i = 0; i < sectionItems.size(); ++i) {
diff --git a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
index 5293ba487a..347d2a81e6 100644
--- a/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
+++ b/tests/auto/widgets/itemviews/qtreeview/tst_qtreeview.cpp
@@ -162,6 +162,7 @@ private slots:
void renderToPixmap();
void styleOptionViewItem();
void keyboardNavigationWithDisabled();
+ void saveRestoreState();
void statusTip_data();
void statusTip();
@@ -4076,6 +4077,58 @@ void tst_QTreeView::keyboardNavigationWithDisabled()
QCOMPARE(view.currentIndex(), model.index(6, 0));
}
+class RemoveColumnOne : public QSortFilterProxyModel
+{
+public:
+ bool filterAcceptsColumn(int source_column, const QModelIndex &) const override
+ {
+ if (m_removeColumn)
+ return source_column != 1;
+ return true;
+ }
+ void removeColumn()
+ {
+ m_removeColumn = true;
+ invalidate();
+ }
+private:
+ bool m_removeColumn = false;
+};
+
+
+void tst_QTreeView::saveRestoreState()
+{
+ QStandardItemModel model;
+ for (int i = 0; i < 100; i++) {
+ QList<QStandardItem *> items;
+ items << new QStandardItem(QLatin1String("item ") + QString::number(i)) << new QStandardItem(QStringLiteral("hidden by proxy")) << new QStandardItem(QStringLiteral("hidden by user"));
+ model.appendRow(items);
+ }
+ QCOMPARE(model.columnCount(), 3);
+
+ RemoveColumnOne proxy;
+ proxy.setSourceModel(&model);
+ QCOMPARE(proxy.columnCount(), 3);
+
+ QTreeView view;
+ view.setModel(&proxy);
+ view.resize(500, 500);
+ view.show();
+ view.header()->hideSection(2);
+ QVERIFY(view.header()->isSectionHidden(2));
+ proxy.removeColumn();
+ QCOMPARE(proxy.columnCount(), 2);
+ QVERIFY(view.header()->isSectionHidden(1));
+ const QByteArray data = view.header()->saveState();
+
+ QTreeView view2;
+ view2.setModel(&proxy);
+ view2.resize(500, 500);
+ view2.show();
+ view2.header()->restoreState(data);
+ QVERIFY(view2.header()->isSectionHidden(1));
+}
+
class Model_11466 : public QAbstractItemModel
{
Q_OBJECT
--
cgit v1.1-6-g87c4
From 67aa365d41ebfe082b4efcfd725e4d5f08be678c Mon Sep 17 00:00:00 2001
From: Ulf Hermann <ulf.hermann@qt.io>
Date: Wed, 25 Apr 2018 12:48:21 +0200
Subject: Do emit CMake declarations for existing private headers
We need to make sure we don't emit CMake declarations for private
headers if those headers are absent. However, most of the time we have
private headers and should add them.
Task-number: QTBUG-37417
Change-Id: I639eb93d008de27928dedac540894af70c1883b9
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
---
mkspecs/features/create_cmake.prf | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
index 66acedef55..2ed708e085 100644
--- a/mkspecs/features/create_cmake.prf
+++ b/mkspecs/features/create_cmake.prf
@@ -28,9 +28,13 @@ CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
CMAKE_MODULE_NAME = $$cmakeModuleName($${MODULE})
+!generated_privates {
+ isEmpty(SYNCQT.INJECTED_PRIVATE_HEADER_FILES):isEmpty(SYNCQT.PRIVATE_HEADER_FILES): \
+ CMAKE_NO_PRIVATE_INCLUDES = true
+}
+
split_incpath {
CMAKE_ADD_SOURCE_INCLUDE_DIRS = true
- CMAKE_NO_PRIVATE_INCLUDES = true # Don't add private includes in the build dir which don't exist
CMAKE_SOURCE_INCLUDES = \
$$cmakeTargetPaths($$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/Qt$${CMAKE_MODULE_NAME})
CMAKE_SOURCE_PRIVATE_INCLUDES = \
@@ -53,10 +57,6 @@ contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
}
-isEmpty(QT.$${MODULE}_private.includes)| \
- !exists($$first(QT.$${MODULE}_private.includes)): \
- CMAKE_NO_PRIVATE_INCLUDES = true
-
CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
--
cgit v1.1-6-g87c4
From e8425f9e52c9df0ce0fbf122adff3ef6930f9961 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thorbj=C3=B8rn=20Lund=20Martsum?= <tmartsum@gmail.com>
Date: Wed, 28 Feb 2018 09:23:54 +0100
Subject: QHeaderView: Fix crash in layout about to change
Before there was a risk looking up e.g index -1 if there
were no visible sections in layoutAboutToChange.
Change-Id: Ic911e4292e8e8c4892fef1c0f34cf7dccaad2bac
Task-number: QTBUG-65478
Reviewed-by: David Faure <david.faure@kdab.com>
---
diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
index 26d7c5472a..708b9b44ca 100644
--- a/src/widgets/itemviews/qheaderview.cpp
+++ b/src/widgets/itemviews/qheaderview.cpp
@@ -2163,9 +2163,11 @@ void QHeaderViewPrivate::_q_sectionsAboutToBeChanged()
layoutChangePersistentSections.clear();
layoutChangePersistentSections.reserve(std::min(10, sectionItems.count()));
// after layoutChanged another section can be last stretched section
- if (stretchLastSection) {
+ if (stretchLastSection && lastSectionLogicalIdx >= 0 && lastSectionLogicalIdx < sectionItems.count()) {
const int visual = visualIndex(lastSectionLogicalIdx);
- sectionItems[visual].size = lastSectionSize;
+ if (visual >= 0 && visual < sectionItems.size()) {
+ sectionItems[visual].size = lastSectionSize;
+ }
}
for (int i = 0; i < sectionItems.size(); ++i) {
auto s = sectionItems.at(i);
From 9395f35cb18725995910531ca8b09f1d84efa96c Mon Sep 17 00:00:00 2001
From: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Date: Sat, 17 Feb 2018 10:02:19 +0100
Subject: QHeaderView: Preserve settings on layoutChange with empty model
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Do not clear the settings of QHeaderView during layoutChange when the
model is empty and the section count did not change. This will not work
when a section is moved or a section is replaced with a new one during
layoutChange. But since layoutChanged is also called on sorting, this
patch ensures that the settings are not cleared in this case.
This restores the behavior to the same as before 5.9.4.
Task-number: QTBUG-66444
Task-number: QTBUG-65478
Change-Id: I39989cfd45b42e58f49d18ec014d3a941cadb6c9
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
---
src/widgets/itemviews/qheaderview.cpp | 24 ++++++++
.../itemviews/qheaderview/tst_qheaderview.cpp | 71 ++++++++++++++++++++++
2 files changed, 95 insertions(+)
diff --git a/src/widgets/itemviews/qheaderview.cpp b/src/widgets/itemviews/qheaderview.cpp
index edef2e9bf8..b0359de3ea 100644
--- a/src/widgets/itemviews/qheaderview.cpp
+++ b/src/widgets/itemviews/qheaderview.cpp
@@ -2205,6 +2205,30 @@ void QHeaderViewPrivate::_q_sectionsChanged()
return;
}
+ bool hasPersistantIndexes = false;
+ for (const auto &item : oldPersistentSections) {
+ if (item.index.isValid()) {
+ hasPersistantIndexes = true;
+ break;
+ }
+ }
+
+ // Though far from perfect we here try to retain earlier/existing behavior
+ // ### See QHeaderViewPrivate::_q_layoutAboutToBeChanged()
+ // When we don't have valid hasPersistantIndexes it can be due to
+ // - all sections are default sections
+ // - the row/column 0 which is used for persistent indexes is gone
+ // - all non-default sections were removed
+ // case one is trivial, in case two we assume nothing else changed (it's the best
+ // guess we can do - everything else can not be handled correctly for now)
+ // case three can not be handled correctly with layoutChanged - removeSections
+ // should be used instead for this
+ if (!hasPersistantIndexes) {
+ if (oldCount != newCount)
+ q->initializeSections();
+ return;
+ }
+
// adjust section size
if (newCount != oldCount) {
const int min = qBound(0, oldCount, newCount - 1);
diff --git a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
index c69c0de949..97aa8a0299 100644
--- a/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
+++ b/tests/auto/widgets/itemviews/qheaderview/tst_qheaderview.cpp
@@ -206,6 +206,7 @@ private slots:
void task248050_hideRow();
void QTBUG6058_reset();
void QTBUG7833_sectionClicked();
+ void checkLayoutChangeEmptyModel();
void QTBUG8650_crashOnInsertSections();
void QTBUG12268_hiddenMovedSectionSorting();
void QTBUG14242_hideSectionAutoSize();
@@ -286,6 +287,13 @@ public:
endInsertColumns();
}
+ void removeFirstRow()
+ {
+ beginRemoveRows(QModelIndex(), 0, 0);
+ --rows;
+ endRemoveRows();
+ }
+
void removeLastRow()
{
beginRemoveRows(QModelIndex(), rows - 1, rows - 1);
@@ -328,6 +336,24 @@ public:
emit layoutChanged();
}
+ void emitLayoutChanged()
+ {
+ emit layoutAboutToBeChanged();
+ emit layoutChanged();
+ }
+
+ void emitLayoutChangedWithRemoveFirstRow()
+ {
+ emit layoutAboutToBeChanged();
+ QModelIndexList milNew;
+ const auto milOld = persistentIndexList();
+ milNew.reserve(milOld.size());
+ for (int i = 0; i < milOld.size(); ++i)
+ milNew += QModelIndex();
+ changePersistentIndexList(milOld, milNew);
+ emit layoutChanged();
+ }
+
int cols, rows;
mutable bool wrongIndex;
};
@@ -2332,6 +2358,51 @@ void tst_QHeaderView::QTBUG7833_sectionClicked()
QCOMPARE(pressedSpy.at(2).at(0).toInt(), 0);
}
+void tst_QHeaderView::checkLayoutChangeEmptyModel()
+{
+ QtTestModel tm;
+ tm.cols = 11;
+ QTableView tv;
+ tv.setModel(&tm);
+
+ const int section4Size = tv.horizontalHeader()->sectionSize(4) + 1;
+ const int section5Size = section4Size + 1;
+ tv.horizontalHeader()->resizeSection(4, section4Size);
+ tv.horizontalHeader()->resizeSection(5, section5Size);
+ tv.setColumnHidden(5, true);
+ tv.setColumnHidden(6, true);
+ tv.horizontalHeader()->swapSections(8, 10);
+
+ tv.sortByColumn(1, Qt::AscendingOrder);
+ tm.emitLayoutChanged();
+
+ QCOMPARE(tv.isColumnHidden(5), true);
+ QCOMPARE(tv.isColumnHidden(6), true);
+ QCOMPARE(tv.horizontalHeader()->sectionsMoved(), true);
+ QCOMPARE(tv.horizontalHeader()->logicalIndex(8), 10);
+ QCOMPARE(tv.horizontalHeader()->logicalIndex(10), 8);
+ QCOMPARE(tv.horizontalHeader()->sectionSize(4), section4Size);
+ tv.setColumnHidden(5, false); // unhide, section size must be properly restored
+ QCOMPARE(tv.horizontalHeader()->sectionSize(5), section5Size);
+ tv.setColumnHidden(5, true);
+
+ // adjust
+ tm.rows = 3;
+ tm.emitLayoutChanged();
+
+ // remove the row used for QPersistenModelIndexes
+ tm.emitLayoutChangedWithRemoveFirstRow();
+ QCOMPARE(tv.isColumnHidden(5), true);
+ QCOMPARE(tv.isColumnHidden(6), true);
+ QCOMPARE(tv.horizontalHeader()->sectionsMoved(), true);
+ QCOMPARE(tv.horizontalHeader()->logicalIndex(8), 10);
+ QCOMPARE(tv.horizontalHeader()->logicalIndex(10), 8);
+ QCOMPARE(tv.horizontalHeader()->sectionSize(4), section4Size);
+ tv.setColumnHidden(5, false); // unhide, section size must be properly restored
+ QCOMPARE(tv.horizontalHeader()->sectionSize(5), section5Size);
+ tv.setColumnHidden(5, true);
+}
+
void tst_QHeaderView::QTBUG8650_crashOnInsertSections()
{
QStringList headerLabels;
--
cgit v1.1-6-g87c4
### Rebuild only for minor version updates
calibre
gcin
kwin
lxqt-qtplugin
plasma-framework
plasma-integration
qqc2-desktop-style
qt5ct
### Rebuild for minor and patch version updates
akonadi
deepin-dock
deepin-file-manager
deepin-qt-dbus-factory
deepin-qt5integration
deepin-qt5dxcb-plugin
dtkwidget
dtkwm
fcitx-qt5
googlemaps
libqtxdg
pyqt5-common
qt5-styleplugins
qt5-webkit
skrooge
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment