From 7080cc765c9566e852797dbaf60fe50a2fcc2b72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thorbj=C3=B8rn=20Lund=20Martsum?= Date: Fri, 2 Nov 2012 18:25:42 +0100 Subject: Qt 4 - QHeaderView - correct drop on manual QHeaderView sectionmove This fixes an error in the calculation of the exact drop position when an user is moving a section in QHeaderView. Before we compared a mouse-position local to the widget (pos) with a summed length of sections (posThreshold). However we need to consider/substract the headers offset to make the posThreshold comparable to the local mouse position. This is a backport of SHA d625535728154fc9ca576bf6472c6b5057a96f17 This solves e.g. Task-number: QTBUG-14814 Change-Id: I8e2c820dc9018fb3d14b71f28aa317417c997a44 Reviewed-by: Stephen Kelly --- src/gui/itemviews/qheaderview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/itemviews/qheaderview.cpp b/src/gui/itemviews/qheaderview.cpp index 65a8858fad..2bc4619455 100644 --- a/src/gui/itemviews/qheaderview.cpp +++ b/src/gui/itemviews/qheaderview.cpp @@ -2243,7 +2243,7 @@ void QHeaderView::mouseMoveEvent(QMouseEvent *e) int visual = visualIndexAt(pos); if (visual == -1) return; - int posThreshold = d->headerSectionPosition(visual) + d->headerSectionSize(visual) / 2; + int posThreshold = d->headerSectionPosition(visual) - d->offset + d->headerSectionSize(visual) / 2; int moving = visualIndex(d->section); if (visual < moving) { if (pos < posThreshold) -- cgit v1.2.3