diff options
author | Markos Chandras <hwoarang@gentoo.org> | 2009-12-07 15:19:56 +0000 |
---|---|---|
committer | Markos Chandras <hwoarang@gentoo.org> | 2009-12-07 15:19:56 +0000 |
commit | 4a9e82692eade506b08bac8a370a0cca99932bc1 (patch) | |
tree | b25bba50b8328098c161dc58c01fe36ac8c44d87 /x11-libs/qt-gui/files/qt-gui-4.6.0-fix-qgraphicsscence.patch | |
parent | removed invalid block (diff) | |
download | gentoo-2-4a9e82692eade506b08bac8a370a0cca99932bc1.tar.gz gentoo-2-4a9e82692eade506b08bac8a370a0cca99932bc1.tar.bz2 gentoo-2-4a9e82692eade506b08bac8a370a0cca99932bc1.zip |
Add patch to fix plasma crash on kde4. Bug #296003
(Portage version: 2.2_rc55/cvs/Linux x86_64)
Diffstat (limited to 'x11-libs/qt-gui/files/qt-gui-4.6.0-fix-qgraphicsscence.patch')
-rw-r--r-- | x11-libs/qt-gui/files/qt-gui-4.6.0-fix-qgraphicsscence.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/x11-libs/qt-gui/files/qt-gui-4.6.0-fix-qgraphicsscence.patch b/x11-libs/qt-gui/files/qt-gui-4.6.0-fix-qgraphicsscence.patch new file mode 100644 index 000000000000..d56412ba5d93 --- /dev/null +++ b/x11-libs/qt-gui/files/qt-gui-4.6.0-fix-qgraphicsscence.patch @@ -0,0 +1,40 @@ +From 705880f0045ac39140f980d69aec68869213e379 Mon Sep 17 00:00:00 2001 +From: Alexis Menard <alexis.menard@nokia.com> +Date: Thu, 26 Nov 2009 13:47:34 +0100 +Subject: [PATCH] Fix a crash in KDE/Plasma with QGraphicsView. TopLevel list of items + was corrupted. + +This nasty bug was triggered when the index sort the top level list of +items. We forgot to set the flag topLevelSequentialOrdering to false +so when an item was removed from the top level list it was using the +sibling index which can be not valid anymore since the list is not +sorted by sequential order. So it let some dangling pointers in the +list which make processDirtyItemRecursive crash the next paint event. + +Reviewed-by:bnilsen +Reviewed-by:andreas +--- + src/gui/graphicsview/qgraphicsscene_p.h | 3 +- + 2 files changed, 34 insertions(+), 1 deletions(-) + +diff --git a/src/gui/graphicsview/qgraphicsscene_p.h b/src/gui/graphicsview/qgraphicsscene_p.h +index a1d0496..69e4d5b 100644 +--- a/src/gui/graphicsview/qgraphicsscene_p.h ++++ b/src/gui/graphicsview/qgraphicsscene_p.h +@@ -78,7 +78,7 @@ class QGraphicsSceneIndex; + class QGraphicsView; + class QGraphicsWidget; + +-class QGraphicsScenePrivate : public QObjectPrivate ++class Q_AUTOTEST_EXPORT QGraphicsScenePrivate : public QObjectPrivate + { + Q_DECLARE_PUBLIC(QGraphicsScene) + public: +@@ -265,6 +265,7 @@ public: + { + if (needSortTopLevelItems) { + qSort(topLevelItems.begin(), topLevelItems.end(), qt_notclosestLeaf); ++ topLevelSequentialOrdering = false; + needSortTopLevelItems = false; + } + } |