From 78a9d911ce785bf76e058739ed58d72f6cc35cd5 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Mon, 3 Apr 2023 13:38:20 +0200 Subject: [PATCH] color filter: Leave original brush as it was when substituting colors QBrush is explicitly shared, so when setting the gradient of a copy, we are also changing the gradient of the original. --- src/graphic/QskColorFilter.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/graphic/QskColorFilter.cpp b/src/graphic/QskColorFilter.cpp index c6f1dc73..87bbe412 100644 --- a/src/graphic/QskColorFilter.cpp +++ b/src/graphic/QskColorFilter.cpp @@ -56,10 +56,10 @@ static inline QBrush qskSubstitutedBrush( if ( isModified ) { - newBrush = brush; - - auto newGradient = const_cast< QGradient* >( newBrush.gradient() ); - newGradient->setStops( stops ); + auto newGradient = *gradient; + newGradient.setStops( stops ); + newBrush = QBrush( newGradient ); + newBrush.setTransform( brush.transform() ); } } else