┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2013-06-30 14:26:24 +0200
committerFrank Reininghaus <[email protected]>2013-06-30 14:26:24 +0200
commit2a612e12cee9d19fe94c069f56b5e5a47421d5cf (patch)
tree38940a78a30ee816984ae0b4339f77726327bc9f
parentdedebed4683014f8604d2319f266c7990ab53daf (diff)
Replace QList by QVector if the elements are larger than a pointer
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
-rw-r--r--src/kitemviews/private/kitemlistsizehintresolver.cpp4
-rw-r--r--src/kitemviews/private/kitemlistsizehintresolver.h4
-rw-r--r--src/kitemviews/private/kitemlistviewlayouter.h3
3 files changed, 6 insertions, 5 deletions
diff --git a/src/kitemviews/private/kitemlistsizehintresolver.cpp b/src/kitemviews/private/kitemlistsizehintresolver.cpp
index c76ff0f55..e075b46d0 100644
--- a/src/kitemviews/private/kitemlistsizehintresolver.cpp
+++ b/src/kitemviews/private/kitemlistsizehintresolver.cpp
@@ -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);
}
diff --git a/src/kitemviews/private/kitemlistsizehintresolver.h b/src/kitemviews/private/kitemlistsizehintresolver.h
index 1345e0321..6f50d673c 100644
--- a/src/kitemviews/private/kitemlistsizehintresolver.h
+++ b/src/kitemviews/private/kitemlistsizehintresolver.h
@@ -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
diff --git a/src/kitemviews/private/kitemlistviewlayouter.h b/src/kitemviews/private/kitemlistviewlayouter.h
index 5ca73e1ad..306fcd360 100644
--- a/src/kitemviews/private/kitemlistviewlayouter.h
+++ b/src/kitemviews/private/kitemlistviewlayouter.h
@@ -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;
};