┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/kitemviews/kitemlistviewlayouter.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/kitemviews/kitemlistviewlayouter.cpp b/src/kitemviews/kitemlistviewlayouter.cpp
index 9b807aaf5..cb0e9cf55 100644
--- a/src/kitemviews/kitemlistviewlayouter.cpp
+++ b/src/kitemviews/kitemlistviewlayouter.cpp
@@ -297,7 +297,10 @@ void KItemListViewLayouter::doLayout()
// Apply the unused width equally to each column
const qreal unusedWidth = size.width() - m_columnCount * m_columnWidth;
if (unusedWidth > 0) {
- const qreal columnInc = unusedWidth / (m_columnCount + 1);
+ // [Comment #1] A cast to int is done on purpose to prevent rounding issues when
+ // drawing pixmaps and drawing text or other graphic primitives: Qt uses a different
+ // rastering algorithm for the upper/left of pixmaps
+ const qreal columnInc = int(unusedWidth / (m_columnCount + 1));
m_columnWidth += columnInc;
m_xPosInc += columnInc;
}
@@ -368,7 +371,7 @@ void KItemListViewLayouter::doLayout()
// (in average a character requires the halve width of the font height).
//
// TODO: Let the group headers provide a minimum width and respect this width here
- const qreal minimumGroupHeaderWidth = m_groupHeaderHeight * 15 / 2;
+ const qreal minimumGroupHeaderWidth = int(m_groupHeaderHeight * 15 / 2); // See [Comment #1]
if (requiredItemHeight < minimumGroupHeaderWidth) {
requiredItemHeight = minimumGroupHeaderWidth;
}