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: {