]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Replace QList by QVector if the elements are larger than a pointer
authorFrank Reininghaus <frank78ac@googlemail.com>
Sun, 30 Jun 2013 12:26:24 +0000 (14:26 +0200)
committerFrank Reininghaus <frank78ac@googlemail.com>
Sun, 30 Jun 2013 12:26:24 +0000 (14:26 +0200)
If the elements are larger than a pointer, QList does not store the
elements themselves, but pointers to them in a contiguous block of
memory. This wastes quite a bit of memory. This can be prevented easily
by using QVector instead.

REVIEW: 111304

src/kitemviews/private/kitemlistsizehintresolver.cpp
src/kitemviews/private/kitemlistsizehintresolver.h
src/kitemviews/private/kitemlistviewlayouter.h

index c76ff0f5503c7b01d8b7eb6285fade6c9b14755f..e075b46d0970016b7fce9d090716257c1790e2be 100644 (file)
@@ -55,8 +55,8 @@ void KItemListSizeHintResolver::itemsInserted(int index, int count)
 
 void KItemListSizeHintResolver::itemsRemoved(int index, int count)
 {
-    const QList<QSizeF>::iterator begin = m_sizeHintCache.begin() + index;
-    const QList<QSizeF>::iterator end = begin + count;
+    const QVector<QSizeF>::iterator begin = m_sizeHintCache.begin() + index;
+    const QVector<QSizeF>::iterator end = begin + count;
     m_sizeHintCache.erase(begin, end);
 }
 
index 1345e0321f4f49dd7a5387d383dc28467df9c42c..6f50d673ca7774cb269f5445818fc0936f898fc9 100644 (file)
@@ -23,8 +23,8 @@
 #include <libdolphin_export.h>
 
 #include <QByteArray>
-#include <QList>
 #include <QSizeF>
+#include <QVector>
 
 class KItemListView;
 
@@ -47,7 +47,7 @@ public:
 
 private:
     const KItemListView* m_itemListView;
-    mutable QList<QSizeF> m_sizeHintCache;
+    mutable QVector<QSizeF> m_sizeHintCache;
 };
 
 #endif
index 5ca73e1adacceccc4b3d47dbd0704169d2584795..306fcd3605b0b1990c4dbce4f83b1d0e16d28137 100644 (file)
@@ -26,6 +26,7 @@
 #include <QRectF>
 #include <QSet>
 #include <QSizeF>
+#include <QVector>
 
 class KItemModelBase;
 class KItemListSizeHintResolver;
@@ -230,7 +231,7 @@ private:
         int column;
         int row;
     };
-    QList<ItemInfo> m_itemInfos;
+    QVector<ItemInfo> m_itemInfos;
 
     friend class KItemListControllerTest;
 };