From: Emmanuel Pescosta Date: Thu, 20 Jun 2013 17:02:06 +0000 (+0200) Subject: Prevent the selection rectangle from being reduced to 0px X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/584574e07d17b6ec2b82882c8c9869f5e8597e4e Prevent the selection rectangle from being reduced to 0px width or 0px height, so the selected items can not be accidently unselected when the rectangle width/height becomes 0px. BUG: 320897 REVIEW: 111144 FIXED-IN: 4.10.5 --- diff --git a/src/kitemviews/private/kitemlistrubberband.cpp b/src/kitemviews/private/kitemlistrubberband.cpp index ae023d2aa..58567c460 100644 --- a/src/kitemviews/private/kitemlistrubberband.cpp +++ b/src/kitemviews/private/kitemlistrubberband.cpp @@ -50,6 +50,22 @@ void KItemListRubberBand::setEndPosition(const QPointF& pos) if (m_endPos != pos) { const QPointF previous = m_endPos; m_endPos = pos; + + if (m_startPos.x() == m_endPos.x()) { + if (previous.x() < m_startPos.x()) { + m_endPos.rx() = m_startPos.x() - 1.0; + } else { + m_endPos.rx() = m_startPos.x() + 1.0; + } + } + if (m_startPos.y() == m_endPos.y()) { + if (previous.y() < m_startPos.y()) { + m_endPos.ry() = m_startPos.y() - 1.0; + } else { + m_endPos.ry() = m_startPos.y() + 1.0; + } + } + emit endPositionChanged(m_endPos, previous); } }