diff -r b72c6db6890b -r 5dc02b23752f src/gui/widgets/qscrollarea.cpp --- a/src/gui/widgets/qscrollarea.cpp Wed Jun 23 19:07:03 2010 +0300 +++ b/src/gui/widgets/qscrollarea.cpp Tue Jul 06 15:10:48 2010 +0300 @@ -482,14 +482,14 @@ 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()); }