--- a/src/gui/styles/qwindowsvistastyle.cpp +++ b/src/gui/styles/qwindowsvistastyle.cpp @@ -1626,6 +1626,15 @@ void QWindowsVistaStyle::drawComplexControl(ComplexControl control, const QStyle startSlider.activeSubControls = (QStyle::SubControl)oldActiveControls; proxy()->drawComplexControl(control, &startSlider, &startPainter, 0 /* Intentional */); t->setStartImage(startImage); + } else if (const QStyleOptionSpinBox *spinBox = qstyleoption_cast(option)) { + //This is a workaround for the direct3d engine as it currently has some issues with grabWindow + startImage.fill(0); + QPainter startPainter(&startImage); + QStyleOptionSpinBox startSpinBox = *spinBox; + startSpinBox.state = (QStyle::State)oldState; + startSpinBox.activeSubControls = (QStyle::SubControl)oldActiveControls; + proxy()->drawComplexControl(control, &startSpinBox, &startPainter, 0 /* Intentional */); + t->setStartImage(startImage); } else { QPoint offset(0, 0); if (!widget->internalWinId())