QHeaderView: fix logic in setOffset()

Fix the logic in setOffset() which was accidentally reversed during
fixing of UB during signed overflow.

Amends 49fcac99deea390901000a74deea1c0c690b6ae2.

Coverity-Id: 479557
Pick-to: 6.9 6.8 6.5
Fixes: QTBUG-136362
Fixes: QTBUG-136477
Change-Id: Ifc9c80346355b0a9e516effe2ff8b60b1966d67a
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
This commit is contained in:
Christian Ehrlicher 2025-05-04 15:51:23 +02:00
parent c39136ed4f
commit e808b38d4b

View File

@ -429,7 +429,7 @@ void QHeaderView::setOffset(int newOffset)
const int ndelta = q26::saturate_cast<int>(d->headerOffset - qint64{newOffset});
d->headerOffset = newOffset;
if (d->orientation == Qt::Horizontal) {
if (isLeftToRight()) {
if (isRightToLeft()) {
if (int r; !qMulOverflow<-1>(ndelta, &r))
d->viewport->scroll(r, 0);
else