Bonjour,
je suis dans un contexte un peu particulier, d'où l'aspect un peu particulier de mon problème.
En effet, je travaille sur un plug-in pour firefox, qui utilise la SDK XUL pour les plug-in firefox. Cette SDK fournit le squelette du plugin, c'est à dire un ensemble de classes, dont je dois implémenter le contenu.
Pour l'interface graphique de mon plug-in, j'utilise la MFC pour afficher une fenêtre et des contrôles (boutons, sliders, etc.) dans firefox.
Lorsque le plug-in graphique est détruit (quand on ferme firefox, ou qu'on change de page), la fonction NPP_Destroy de la SDK est appelée par firefox, et je dois donc, dans cette fonction, libérer les ressources de mon plug-in, et en particulier les ressources graphiques.
Le problème c'est (et c'est explicitement écrit dans la doc de la SDK XUL) que dans cette fonction NPP_Destroy je ne dois pas manipuler les ressources graphiques car le handle sur la fenêtre n'est pas valide. En effet, le m_hWnd de ma fenêtre est à null lorsque l'exécution rentre dans NPP_Destroy.
Or, j'ai absolument besoin de libérer ces ressources, sinon j'obtiens des affreux memory leaks.
Auriez-vous une idée de comment je pourrais m'y prendre?
J'espère avoir été clair, si ce n'est pas le cas, n'hésitez pas à me demander des précisions.
![]()
Partager