Skip to content

Commit 3343b5e

Browse files
committed
Modify to excute _setupPainter when appearance has changed
1 parent cc70c6b commit 3343b5e

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 _angleRange;
6262
double _selectedAngle;
6363
double _rotation;
64+
int _appearanceHashCode;
6465
SpinAnimationManager _spinManager;
6566
ValueChangedAnimationManager _animationManager;
6667

@@ -72,6 +73,7 @@ class _SleekCircularSliderState extends State<SleekCircularSlider>
7273
super.initState();
7374
_startAngle = widget.appearance.startAngle;
7475
_angleRange = widget.appearance.angleRange;
76+
_appearanceHashCode = widget.appearance.hashCode;
7577

7678
if (!widget.appearance.animationEnabled) {
7779
return;
@@ -136,8 +138,9 @@ class _SleekCircularSliderState extends State<SleekCircularSlider>
136138

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

0 commit comments

Comments
 (0)