mapbox / mapbox/mapbox-maps-flutter
Fix issue Mapbox used after being disposed
Personne n'a encore pris cette issue.
- Langage dominant
- Dart
- Étoiles
- 380
- Forks
- 204
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
I have a logout button in my app.
After logging out, an exception is being thrown which says: A MapboxMap was used after being disposed.
Once you have called dispose() on a MapboxMap, it can no longer be used.
Below are the relevant codes:
```
void _showLogoutConfirmationDialogUsing(
BuildContext context,
) =>
ActionDialog.show(
context,
content: context.localize.areYouSureYouWantToLogout,
onActionDismissed: () {
Navigator.of(
context,
).pop();
},
onActionConfirmed: () {
Navigator.of(
context,
).pop();
context.read().add(
const Web3AuthLogoutEvent.logout(),
);
},
);
```
```
@override
void dispose() {
_mapboxMap?.dispose();
_clickedRestriction.dispose();
_centerLocationNotifier.dispose();
_mapStyleNotifier.dispose();
super.dispose();
}
```
https://github.com/user-attachments/assets/b79c8405-ffd2-4216-a27f-681de923c213
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le callback de logout fourni et l’implémentation de dispose() du widget, puis reproduisez le flux de logout en traçant les utilisations de _mapboxMap après sa libération. Comparez le moment du logout, de la libération du widget et des opérations sur la carte ; le travail est terminé lorsque l’exception signalée "MapboxMap was used after being disposed" ne se produit plus.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- dart, flutter
- Domaine
- mobile
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100