void OnExit() { wxDDECleanUp(); }
int MyApp::OnExit() { wxNode *node = CustomMacroList.GetFirst(); while (node) { CustomMacro *macro = (CustomMacro *)node->GetData(); delete macro; delete node; node = CustomMacroList.GetFirst(); } MacroDefs.BeginFind(); wxHashTable::Node* mNode = MacroDefs.Next(); while (mNode) { TexMacroDef* def = (TexMacroDef*) mNode->GetData(); delete def; mNode = MacroDefs.Next(); } MacroDefs.Clear(); #ifdef __WXMSW__ delete TheTex2RTFServer; wxDDECleanUp(); #endif #if wxUSE_HELP delete HelpInstance; #endif // wxUSE_HELP if (BigBuffer) { delete BigBuffer; BigBuffer = NULL; } if (currentArgData) { delete currentArgData; currentArgData = NULL; } if (TexFileRoot) { delete TexFileRoot; TexFileRoot = NULL; } if (TexBibName) { delete TexBibName; TexBibName = NULL; } if (TexTmpBibName) { delete TexTmpBibName; TexTmpBibName = NULL; } if (FileRoot) { delete FileRoot; FileRoot = NULL; } if (ContentsName) { delete ContentsName; ContentsName = NULL; } if (TmpContentsName) { delete TmpContentsName; TmpContentsName = NULL; } if (TmpFrameContentsName) { delete TmpFrameContentsName; TmpFrameContentsName = NULL; } if (WinHelpContentsFileName) { delete WinHelpContentsFileName; WinHelpContentsFileName = NULL; } if (RefFileName) { delete RefFileName; RefFileName = NULL; } if (TopLevel) { delete TopLevel; TopLevel = NULL; } if (MacroFile) { delete MacroFile; MacroFile = NULL; } if (RTFCharset) { delete RTFCharset; RTFCharset = NULL; } delete [] PageStyle; delete [] BibliographyStyleString; delete [] DocumentStyleString; delete [] bitmapMethod; delete [] backgroundColourString; delete [] ContentsNameString; delete [] AbstractNameString; delete [] GlossaryNameString; delete [] ReferencesNameString; delete [] FiguresNameString; delete [] TablesNameString; delete [] FigureNameString; delete [] TableNameString; delete [] IndexNameString; delete [] ChapterNameString; delete [] SectionNameString; delete [] SubsectionNameString; delete [] SubsubsectionNameString; delete [] UpNameString; if (winHelpTitle) delete[] winHelpTitle; // TODO: this simulates zero-memory leaks! // Otherwise there are just too many... #ifndef __WXGTK__ #if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT wxDebugContext::SetCheckpoint(); #endif #endif return 0; }