fixes new-delete-type-mismatch
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
x->color = d->color;
x->transform = d->transform;
- if (!d->ref.deref())
- delete d;
+ if (!d->ref.deref()) {
+ switch (d->style) {
+ case Qt::TexturePattern: {
+ delete static_cast<QTexturedBrushData*>(d);
+ break;
+ }
+ case Qt::LinearGradientPattern:
+ case Qt::RadialGradientPattern: {
+ delete static_cast<QGradientBrushData*>(d);
+ break;
+ }
+ default: {
+ delete d;
+ break;
+ }
+ }
+ }
d = x.take();
}