From 3b289ff76933c08ef51eefbd07839794e26ff2fa Mon Sep 17 00:00:00 2001 From: Norwegian Rock Cat Date: Thu, 26 Mar 2009 10:00:06 +0100 Subject: Fix regression where QMacStyle would only draw tabs w/QStyleOptionTabV3. This is a good example of how to not use QStyleOption when added new features. It's important to start with the most compatible and then cast to the more specific versions to get the new fields. Task-number: 248769 Reviewed-by: Jens Bache-Wiig --- src/gui/styles/qmacstyle_mac.mm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/gui/styles/qmacstyle_mac.mm b/src/gui/styles/qmacstyle_mac.mm index a3f5cfe..d598807 100644 --- a/src/gui/styles/qmacstyle_mac.mm +++ b/src/gui/styles/qmacstyle_mac.mm @@ -3854,13 +3854,16 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter } break; case CE_TabBarTabShape: - if (const QStyleOptionTabV3 *tabOpt = qstyleoption_cast(opt)) { - if (tabOpt->documentMode) { - p->save(); - QRect tabRect = tabOpt->rect; - drawTabShape(p, tabOpt); - p->restore(); - return; + if (const QStyleOptionTab *tabOpt = qstyleoption_cast(opt)) { + + if (const QStyleOptionTabV3 *tabOptV3 = qstyleoption_cast(opt)) { + if (tabOptV3->documentMode) { + p->save(); + QRect tabRect = tabOptV3->rect; + drawTabShape(p, tabOptV3); + p->restore(); + return; + } } #if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_4) -- cgit v0.12