@@ -141,7 +141,9 @@ public struct LinearGradient : ShapeStyle, Renderable {
141141
142142 @Composable override func asBrush( opacity: Double , animationContext: ComposeContext ? ) -> Brush ? {
143143 let stops = gradient. colorStops ( opacity: opacity)
144- return LinearGradientShaderBrush ( colorStops: stops, startPoint: startPoint, endPoint: endPoint)
144+ return remember ( gradient, startPoint, endPoint, opacity) {
145+ LinearGradientShaderBrush ( colorStops: stops, startPoint: startPoint, endPoint: endPoint)
146+ }
145147 }
146148
147149 private struct LinearGradientShaderBrush : ShaderBrush {
@@ -207,7 +209,9 @@ public struct EllipticalGradient : ShapeStyle, Renderable {
207209
208210 @Composable override func asBrush( opacity: Double , animationContext: ComposeContext ? ) -> Brush ? {
209211 let stops = gradient. colorStops ( opacity: opacity)
210- return RadialGradientShaderBrush ( colorStops: stops, center: center, startFraction: startFraction, endFraction: endFraction)
212+ return remember ( gradient, center, startFraction, endFraction, opacity) {
213+ RadialGradientShaderBrush ( colorStops: stops, center: center, startFraction: startFraction, endFraction: endFraction)
214+ }
211215 }
212216
213217 private struct RadialGradientShaderBrush : ShaderBrush {
@@ -275,7 +279,9 @@ public struct RadialGradient : ShapeStyle, Renderable {
275279 let start = with ( density) { startRadius. dp. toPx ( ) }
276280 let end = with ( density) { endRadius. dp. toPx ( ) }
277281 let stops = gradient. colorStops ( opacity: opacity)
278- return RadialGradientShaderBrush ( colorStops: stops, center: center, startRadius: start, endRadius: end)
282+ return remember ( gradient, center, start, end, opacity) {
283+ RadialGradientShaderBrush ( colorStops: stops, center: center, startRadius: start, endRadius: end)
284+ }
279285 }
280286
281287 private struct RadialGradientShaderBrush : ShaderBrush {
0 commit comments