summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dietrich-de@nokia.com>2010-04-16 08:56:38 (GMT)
committerSamuli Piippo <samuli.piippo@digia.com>2011-06-09 10:05:41 (GMT)
commitd8adfcca25d185e7233c09711843bddfd596c657 (patch)
treec8aadd586527fc0ee9c252de2a3f5b86f9abd076 /src
parentac6313c740d2264b0c005367513050b332c8a863 (diff)
downloadQt-d8adfcca25d185e7233c09711843bddfd596c657.zip
Qt-d8adfcca25d185e7233c09711843bddfd596c657.tar.gz
Qt-d8adfcca25d185e7233c09711843bddfd596c657.tar.bz2
QScrollArea: Excessive scrolling in focusNextPrevChild()
We were scrolling horizontally even though the widget already fit the visible area horizontally. And conversely for vertical scrolling. Improves commit f1e92b2fdf6b6fd8aca0d05176c647dd68e21baa. Reviewed-by: Thierry Task-number: QTBUG-9425 (cherry picked from commit fa175f7c09e6e664f347ac9804b1a7db1d997ef2)
Diffstat (limited to 'src')
-rw-r--r--src/gui/widgets/qscrollarea.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/gui/widgets/qscrollarea.cpp b/src/gui/widgets/qscrollarea.cpp
index 784847a..5bdee5e 100644
--- a/src/gui/widgets/qscrollarea.cpp
+++ b/src/gui/widgets/qscrollarea.cpp
@@ -482,14 +482,14 @@ void QScrollArea::ensureWidgetVisible(QWidget *childWidget, int xmargin, int yma
d->hbar->setValue(focusRect.center().x() - d->viewport->width() / 2);
else if (focusRect.right() > visibleRect.right())
d->hbar->setValue(focusRect.right() - d->viewport->width());
- else
+ else if (focusRect.left() < visibleRect.left())
d->hbar->setValue(focusRect.left());
if (focusRect.height() > visibleRect.height())
d->vbar->setValue(focusRect.center().y() - d->viewport->height() / 2);
else if (focusRect.bottom() > visibleRect.bottom())
d->vbar->setValue(focusRect.bottom() - d->viewport->height());
- else
+ else if (focusRect.top() < visibleRect.top())
d->vbar->setValue(focusRect.top());
}