From 452c8b8ec8b18e62ff4bae0e49e3f5002ae2f301 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Thu, 2 Feb 2012 15:58:42 +0100 Subject: Fix sorting issue when sorting by "size" Root cause of the issue was an overflow in: result = a - b; where result is 'int' and a and b are 'KIO::filesize_t'. BUG: 293086 FIXED-IN: 4.8.1 --- src/kitemviews/kfileitemmodel.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/kitemviews/kfileitemmodel.h') diff --git a/src/kitemviews/kfileitemmodel.h b/src/kitemviews/kfileitemmodel.h index ff816c85c..d819c3734 100644 --- a/src/kitemviews/kfileitemmodel.h +++ b/src/kitemviews/kfileitemmodel.h @@ -330,6 +330,12 @@ private: */ KFileItemList childItems(const KFileItem& item) const; + /** + * Helper method for sortRoleCompare(). + * @return 0 if both sizes are equal, +1 if a > b and -1 if a < b. + */ + static int fileSizeCompare(KIO::filesize_t a, KIO::filesize_t b); + private: QWeakPointer m_dirLister; -- cgit v1.3.1