summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/widgets/styles/qmacstyle_mac.mm14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm
index 4bdd0a9bcb..bb9230804c 100644
--- a/src/widgets/styles/qmacstyle_mac.mm
+++ b/src/widgets/styles/qmacstyle_mac.mm
@@ -2707,15 +2707,15 @@ int QMacStyle::styleHint(StyleHint sh, const QStyleOption *opt, const QWidget *w
ret = false;
break;
case SH_ScrollBar_Transient:
- if (!qobject_cast<const QScrollBar*>(w)) {
- ret = false;
- break;
- }
- ret = QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7;
+ if ((qobject_cast<const QScrollBar *>(w) && w->parent() &&
+ qobject_cast<QAbstractScrollArea*>(w->parent()->parent())) ||
+ (opt && QStyleHelper::hasAncestor(opt->styleObject, QAccessible::ScrollBar))) {
+ ret = QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7;
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
- if (QSysInfo::MacintoshVersion >= QSysInfo::MV_10_7)
- ret &= [NSScroller preferredScrollerStyle] == NSScrollerStyleOverlay;
+ if (ret)
+ ret = [NSScroller preferredScrollerStyle] == NSScrollerStyleOverlay;
#endif
+ }
break;
default:
ret = QCommonStyle::styleHint(sh, opt, w, hret);