fix
This commit is contained in:
parent
8cf0eb53c6
commit
c3d0858823
1 changed files with 13 additions and 10 deletions
|
|
@ -94,6 +94,8 @@ class _AvatarMakerCustomizerState extends State<AvatarMakerCustomizer>
|
||||||
with SingleTickerProviderStateMixin {
|
with SingleTickerProviderStateMixin {
|
||||||
late AvatarMakerController avatarMakerController;
|
late AvatarMakerController avatarMakerController;
|
||||||
bool _controllerCreatedInternally = false;
|
bool _controllerCreatedInternally = false;
|
||||||
|
late final VoidCallback _handleControllerChanged;
|
||||||
|
late final VoidCallback _handleTabChanged;
|
||||||
|
|
||||||
/// Number of displayed categories in the customizer widget.
|
/// Number of displayed categories in the customizer widget.
|
||||||
late int nbrDisplayedCategories;
|
late int nbrDisplayedCategories;
|
||||||
|
|
@ -121,22 +123,23 @@ class _AvatarMakerCustomizerState extends State<AvatarMakerCustomizer>
|
||||||
vsync: this,
|
vsync: this,
|
||||||
);
|
);
|
||||||
|
|
||||||
tabController.addListener(() {
|
_handleTabChanged = () {
|
||||||
setState(() {});
|
if (mounted) setState(() {});
|
||||||
});
|
};
|
||||||
|
tabController.addListener(_handleTabChanged);
|
||||||
|
|
||||||
// Add listener to the controller
|
// Add listener to the controller
|
||||||
avatarMakerController.addListener(() {
|
_handleControllerChanged = () {
|
||||||
setState(() {});
|
if (mounted) setState(() {});
|
||||||
});
|
};
|
||||||
|
avatarMakerController.addListener(_handleControllerChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
// Remove the listener
|
avatarMakerController.removeListener(_handleControllerChanged);
|
||||||
avatarMakerController.removeListener(() {
|
tabController.removeListener(_handleTabChanged);
|
||||||
setState(() {});
|
tabController.dispose();
|
||||||
});
|
|
||||||
|
|
||||||
// Only dispose the controller if we created it
|
// Only dispose the controller if we created it
|
||||||
if (_controllerCreatedInternally) {
|
if (_controllerCreatedInternally) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue