From 5e6697bf2083e9f3490792ad100680598ba56998 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Tue, 25 Mar 2014 11:47:16 +0100 Subject: [PATCH] Remove qobject_cast to QDockWidget in QWindowsVistaStyle. Rearrange checks in handling of CE_DockWidgetTitle to be consistent with the other styles. Task-number: QTBUG-37350 Change-Id: I8f5d11092eff96337ff1e685d3c42fbb2f128827 Reviewed-by: J-P Nurmi --- src/widgets/styles/qwindowsvistastyle.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/widgets/styles/qwindowsvistastyle.cpp b/src/widgets/styles/qwindowsvistastyle.cpp index 9c3e1eac99..1d75894cd6 100644 --- a/src/widgets/styles/qwindowsvistastyle.cpp +++ b/src/widgets/styles/qwindowsvistastyle.cpp @@ -1421,15 +1421,14 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption } break; case CE_DockWidgetTitle: - if (const QDockWidget *dockWidget = qobject_cast(widget)) { + if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast(option)) { + const QDockWidget *dockWidget = qobject_cast(widget); QRect rect = option->rect; - if (dockWidget->isFloating()) { + if (dockWidget && dockWidget->isFloating()) { QWindowsXPStyle::drawControl(element, option, painter, widget); break; //otherwise fall through } - if (const QStyleOptionDockWidget *dwOpt = qstyleoption_cast(option)) { - const QStyleOptionDockWidgetV2 *v2 = qstyleoption_cast(dwOpt); bool verticalTitleBar = v2 == 0 ? false : v2->verticalTitleBar; @@ -1490,7 +1489,6 @@ void QWindowsVistaStyle::drawControl(ControlElement element, const QStyleOption } } break; - } #ifndef QT_NO_ITEMVIEWS case CE_ItemViewItem: {