From a31dd2e995c91a5e3e429ad76afc90c0a2af3dcf Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Mon, 10 Dec 2012 14:31:50 +0100 Subject: QScrollBar::initStyleOption(): fix QStyle::State_On handling QWindowsStyle considers QStyle::State_On as pressed, whereas QMacStyle uses the same state for transient scrollbars. Thus, to indicate transient scrollbars, QScrollBar::initStyleOption() must set QStyle::State_On only when the current style actually supports transient scrollbars. Task-number: QTBUG-28523 Change-Id: I94d207b1e8c5c4bd6f4b99e8b4f1661197fbe9dd Reviewed-by: Marc Mutz Reviewed-by: Jens Bache-Wiig --- src/widgets/widgets/qscrollbar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/widgets/widgets/qscrollbar.cpp b/src/widgets/widgets/qscrollbar.cpp index be3d2db670..d59d7cdd55 100644 --- a/src/widgets/widgets/qscrollbar.cpp +++ b/src/widgets/widgets/qscrollbar.cpp @@ -325,7 +325,7 @@ void QScrollBar::initStyleOption(QStyleOptionSlider *option) const option->upsideDown = d->invertedAppearance; if (d->orientation == Qt::Horizontal) option->state |= QStyle::State_Horizontal; - if (d->flashed || !d->transient) + if ((d->flashed || !d->transient) && style()->styleHint(QStyle::SH_ScrollBar_Transient)) option->state |= QStyle::State_On; } -- cgit v1.2.3