diff --git a/src/gui/painting/qbrush.cpp b/src/gui/painting/qbrush.cpp index eca2860ab9..d120175108 100644 --- a/src/gui/painting/qbrush.cpp +++ b/src/gui/painting/qbrush.cpp @@ -596,8 +596,16 @@ void QBrush::detach(Qt::BrushStyle newStyle) case Qt::RadialGradientPattern: case Qt::ConicalGradientPattern: x.reset(new QGradientBrushData); - static_cast(x.data())->gradient = - static_cast(d.data())->gradient; + switch (d->style) { + case Qt::LinearGradientPattern: + case Qt::RadialGradientPattern: + case Qt::ConicalGradientPattern: + static_cast(x.data())->gradient = + static_cast(d.data())->gradient; + break; + default: + break; + } break; default: x.reset(new QBrushData);