commenter car tiled delete lui même et cela fesais un double free.
et
Ne maîtrisant pas scope_ptr ou uniq_ptr j'ai préféré évité utiliser pour ne pas mal l'utiliser.
C'est tout le problème les scoped et uniq servent justement :
1) a expliciter la porté d'un pointeur et qui le possède
2) gérer la libération (delete) des pointeurs.
Dans le code j'ai vu pas mal de delete commenté, au moins un autre oublié, des destructeurs d'objets contenant des pointeurs null sans destructeurs.
La lib tiled prennais pas mal possession des pointeurs, et perdre quelque pointeur (memleak) dans ce code n'as pas d'importance (génération de preview et fermeture du processus).
si la lib prends l'ownership des pointeurs c'est à elle de gérer la libération; mais une fuite mémoire n'est en aucun cas 'sans importance' dans un projet perenne. ça complique la compréhension.
pour que valgrind donne des information plus pertinentes, il faut compiler avec -g
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: manque de précision
Posté par fearan . En réponse au message Tiled pour CatchChallenger. Évalué à 4.
et
C'est tout le problème les scoped et uniq servent justement :
1) a expliciter la porté d'un pointeur et qui le possède
2) gérer la libération (delete) des pointeurs.
Dans le code j'ai vu pas mal de delete commenté, au moins un autre oublié, des destructeurs d'objets contenant des pointeurs null sans destructeurs.
si la lib prends l'ownership des pointeurs c'est à elle de gérer la libération; mais une fuite mémoire n'est en aucun cas 'sans importance' dans un projet perenne. ça complique la compréhension.
pour que valgrind donne des information plus pertinentes, il faut compiler avec -g
Il ne faut pas décorner les boeufs avant d'avoir semé le vent