From: Frank Reininghaus Date: Sun, 30 Jun 2013 12:26:24 +0000 (+0200) Subject: Replace QList by QVector if the elements are larger than a pointer X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/2a612e12cee9d19fe94c069f56b5e5a47421d5cf 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 --- 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::iterator begin = m_sizeHintCache.begin() + index; - const QList::iterator end = begin + count; + const QVector::iterator begin = m_sizeHintCache.begin() + index; + const QVector::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 #include -#include #include +#include class KItemListView; @@ -47,7 +47,7 @@ public: private: const KItemListView* m_itemListView; - mutable QList m_sizeHintCache; + mutable QVector 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 #include #include +#include class KItemModelBase; class KItemListSizeHintResolver; @@ -230,7 +231,7 @@ private: int column; int row; }; - QList m_itemInfos; + QVector m_itemInfos; friend class KItemListControllerTest; };