src/gui/itemviews/qlistview.cpp
changeset 37 758a864f9613
parent 30 5dc02b23752f
--- a/src/gui/itemviews/qlistview.cpp	Fri Sep 17 08:34:18 2010 +0300
+++ b/src/gui/itemviews/qlistview.cpp	Mon Oct 04 01:19:32 2010 +0300
@@ -2782,7 +2782,10 @@
         y = info.bounds.y() + info.spacing;
         items.reserve(rowCount() - hiddenCount());
     } else {
-        const QListViewItem item = items.at(info.first - 1);
+        int idx = info.first - 1;
+        while (idx > 0 && !items.at(idx).isValid())
+            --idx;
+        const QListViewItem &item = items.at(idx);
         x = item.x;
         y = item.y;
         if (info.flow == QListView::LeftToRight)
@@ -2913,6 +2916,8 @@
         else
             contentsSize.rwidth() += info.spacing;
     }
+    if (rect.size().isEmpty())
+        return;
     // resize tree
     int insertFrom = info.first;
     if (done || info.first == 0) {