]> git.ipfire.org Git - ipfire-3.x.git/blob - pkgs/qt/patches/qt-everywhere-opensource-src-4.7.0-QTBUG-13567-QTreeView.patch
Change file layout of the makefiles.
[ipfire-3.x.git] / pkgs / qt / patches / qt-everywhere-opensource-src-4.7.0-QTBUG-13567-QTreeView.patch
1 From 6da6b7099d4e0b49329793e4b90703ec3d868048 Mon Sep 17 00:00:00 2001
2 From: Frank Reininghaus <frank78ac@googlemail.com>
3 Date: Wed, 22 Sep 2010 10:19:59 +0200
4 Subject: [PATCH] QTreeView: do not scroll to top if last item is removed
5
6 When the last item is the current item and is removed,
7 QTreeViewPrivate::updateScrollBars() is called after QTreeViewPrivate's
8 viewItems member is cleared. This commit makes sure that viewItems is
9 restored by calling QTreeView::doItemsLayout() in this case, preventing
10 that the scroll bar range is set to zero temporarily and the view is
11 scrolled to the top unexpectedly (this was a regression in 4.7.0:
12 QTBUG-13567).
13
14 Merge-request: 2481
15 Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
16
17 diff --git a/src/gui/itemviews/qtreeview.cpp b/src/gui/itemviews/qtreeview.cpp
18 index b797776..40b51fe 100644
19 --- a/src/gui/itemviews/qtreeview.cpp
20 +++ b/src/gui/itemviews/qtreeview.cpp
21 @@ -3435,6 +3435,10 @@ void QTreeViewPrivate::updateScrollBars()
22 if (!viewportSize.isValid())
23 viewportSize = QSize(0, 0);
24
25 + if (viewItems.isEmpty()) {
26 + q->doItemsLayout();
27 + }
28 +
29 int itemsInViewport = 0;
30 if (uniformRowHeights) {
31 if (defaultItemHeight <= 0)