summaryrefslogtreecommitdiff
path: root/debian/patches/0262-fix-treeview-animation-crash.diff
diff options
context:
space:
mode:
authorArmin Berres <trigger+debian@space-based.de>2008-12-01 23:18:58 +0000
committerArmin Berres <trigger+debian@space-based.de>2008-12-01 23:18:58 +0000
commite42b3ad887b68e0f0556f8a620042a86c0a2eee1 (patch)
tree1eb62782f485995a171685782b2d3f4f415bcc70 /debian/patches/0262-fix-treeview-animation-crash.diff
parentc6857e17d2e54b2b874bbdb8ae3e08ede84cac10 (diff)
downloadqt4-x11-e42b3ad887b68e0f0556f8a620042a86c0a2eee1.tar.gz
add qt-copy patches, but don't uncomment them in the series file for the moment. i couldn't test qt with this patches yet. it fails to build for whatever reason
Diffstat (limited to 'debian/patches/0262-fix-treeview-animation-crash.diff')
-rw-r--r--debian/patches/0262-fix-treeview-animation-crash.diff44
1 files changed, 44 insertions, 0 deletions
diff --git a/debian/patches/0262-fix-treeview-animation-crash.diff b/debian/patches/0262-fix-treeview-animation-crash.diff
new file mode 100644
index 0000000..e307f3a
--- /dev/null
+++ b/debian/patches/0262-fix-treeview-animation-crash.diff
@@ -0,0 +1,44 @@
+Trolltech task ID : 236454
+bugs.kde.org number : 176045
+applied: no
+author: Olivier Goffart
+
+This patch makes sure no deleted items are being accessed during an animation of the treeview
+It will also be contained in the upcoming Qt snapshots
+--- a/src/gui/itemviews/qtreeview.cpp
++++ b/src/gui/itemviews/qtreeview.cpp
+@@ -2815,10 +2815,9 @@ void QTreeViewPrivate::expand(int item,
+ q->setState(oldState);
+
+ if (emitSignal) {
++ emit q->expanded(index);
+ if (animationsEnabled)
+ beginAnimatedOperation();
+- else
+- emit q->expanded(index);
+ }
+ if (model->canFetchMore(index))
+ model->fetchMore(index);
+@@ -2858,10 +2857,9 @@ void QTreeViewPrivate::collapse(int item
+ q->setState(oldState);
+
+ if (emitSignal) {
++ emit q->collapsed(modelIndex);
+ if (animationsEnabled)
+ beginAnimatedOperation();
+- else
+- emit q->collapsed(modelIndex);
+ }
+
+ _q_forceColumnResizeToFitContents();
+@@ -2918,10 +2916,6 @@ void QTreeViewPrivate::_q_endAnimatedOpe
+ animatedOperation.before = QPixmap();
+ animatedOperation.after = QPixmap();
+ q->setState(QAbstractItemView::NoState);
+- if (animatedOperation.type == AnimatedOperation::Expand)
+- emit q->expanded(viewItems.at(animatedOperation.item).index);
+- else // operation == AnimatedOperation::Collapse
+- emit q->collapsed(viewItems.at(animatedOperation.item).index);
+ q->updateGeometries();
+ viewport->update();
+ }