Je crée une application en utilisant SDL 2. J'ai récemment commencé à utiliser la bibliothèque SDL_Mixer et cela a provoqué un problème pour moi. Pardonnez-moi si mon explication semble vague, car ce bug est extrêmement confus.Mon programme se bloque parfois lorsque la suppression est appelée sur un pointeur particulier
Parfois, lors de la fermeture de mon programme, le programme se bloque. Seulement parfois cela arrive. Après avoir enlevé des parties de code, j'ai trouvé que la ligne provoquant ceci était un simple delete
appel sur un pointeur de type Window*
. Si je supprime cet appel de suppression, plus de blocage se produit lorsque je ferme le programme. Une autre chose qui est importante à noter est que le crash se produit juste après que delete
soit appelé, ce qui signifie que le programme ne va même pas à l'intérieur de ~Window()
ce qui est vraiment étrange.
Autre chose que j'ai remarquée, c'est que lorsque je supprime l'appel Mix_OpenAudio(...)
depuis le début du programme, aucun incident ne se produit, que l'appel de suppression soit ou non présent. L'initialisation de SDL_Mixer a donc quelque chose à voir avec les plantages, mais cela ajoute juste plus de confusion. J'espère que quelqu'un a une idée de ce qui pourrait être le problème ici, mais si mon explication est trop vague alors je vais essayer de reproduire le problème dans un segment de code assez petit que je peux poster ici. Je ne voulais pas copier mon code entier sur cette question car je ne veux pas que les mods me détestent. Des idées?