Skip to content

Commit bca8274

Browse files
authored
Merge pull request matthewfx#32 from nero-angela/nero
Modify to excute _setupPainter when appearance has changed
2 parents 163d900 + c757ac4 commit bca8274

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

lib/src/circular_slider.dart

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ class _SleekCircularSliderState extends State<SleekCircularSlider>
6161
double? _rotation;
6262
SpinAnimationManager? _spinManager;
6363
ValueChangedAnimationManager? _animationManager;
64+
late int _appearanceHashCode;
6465

6566
bool get _interactionEnabled => (widget.onChangeEnd != null ||
6667
widget.onChange != null && !widget.appearance.spinnerMode);
@@ -70,6 +71,7 @@ class _SleekCircularSliderState extends State<SleekCircularSlider>
7071
super.initState();
7172
_startAngle = widget.appearance.startAngle;
7273
_angleRange = widget.appearance.angleRange;
74+
_appearanceHashCode = widget.appearance.hashCode;
7375

7476
if (!widget.appearance.animationEnabled) {
7577
return;
@@ -138,8 +140,9 @@ class _SleekCircularSliderState extends State<SleekCircularSlider>
138140

139141
@override
140142
Widget build(BuildContext context) {
141-
/// If painter is null there is a need to setup it to prevent exceptions.
142-
if (_painter == null) {
143+
/// _setupPainter excution when _painter is null or appearance has changed.
144+
if (_painter == null || _appearanceHashCode != widget.appearance.hashCode) {
145+
_appearanceHashCode = widget.appearance.hashCode;
143146
_setupPainter();
144147
}
145148
return RawGestureDetector(

0 commit comments

Comments
 (0)