diff --git a/src/common/QskBoxBorderColors.cpp b/src/common/QskBoxBorderColors.cpp index 1029d029..4d8e1f65 100644 --- a/src/common/QskBoxBorderColors.cpp +++ b/src/common/QskBoxBorderColors.cpp @@ -188,8 +188,8 @@ QskBoxBorderColors QskBoxBorderColors::interpolated( the color and use always use the other color. TODO ... */ #endif - auto& gradient = colors.m_gradients[ i ]; - gradient = gradient.interpolated( to.m_gradients[ i ], ratio ); + colors.m_gradients[ i ] = + m_gradients[ i ].interpolated( to.m_gradients[ i ], ratio ); } return colors; diff --git a/src/common/QskGradient.cpp b/src/common/QskGradient.cpp index 4a471fca..d38a619c 100644 --- a/src/common/QskGradient.cpp +++ b/src/common/QskGradient.cpp @@ -319,9 +319,10 @@ QskGradient QskGradient::interpolated( const QskGradient& to, qreal ratio ) cons gradient = to; - gradient.setStops( qskInterpolatedGradientStops( - m_stops, isMonochrome(), - to.m_stops, to.isMonochrome(), ratio ) ); + const auto stops = qskInterpolatedGradientStops( + m_stops, isMonochrome(), to.m_stops, to.isMonochrome(), ratio ); + + gradient.setStops( stops ); for ( uint i = 0; i < sizeof( m_values ) / sizeof( m_values[0] ); i++ ) gradient.m_values[i] = m_values[i] + ratio * ( to.m_values[i] - m_values[i] );