Code added to cleanup memory/resource leaks on exit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8096 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -60,6 +60,13 @@ int passNumber = 1;
|
|||||||
|
|
||||||
#ifndef NO_GUI
|
#ifndef NO_GUI
|
||||||
|
|
||||||
|
extern char *BigBuffer;
|
||||||
|
extern char *TexFileRoot;
|
||||||
|
extern char *TexBibName; // Bibliography output file name
|
||||||
|
extern char *TexTmpBibName; // Temporary bibliography output file name
|
||||||
|
extern wxList ColourTable;
|
||||||
|
extern TexChunk *TopLevel;
|
||||||
|
|
||||||
#if wxUSE_HELP
|
#if wxUSE_HELP
|
||||||
wxHelpController *HelpInstance = NULL;
|
wxHelpController *HelpInstance = NULL;
|
||||||
#endif // wxUSE_HELP
|
#endif // wxUSE_HELP
|
||||||
@@ -134,6 +141,8 @@ bool MyApp::OnInit()
|
|||||||
WinHelpContentsFileName = new char[300];
|
WinHelpContentsFileName = new char[300];
|
||||||
RefName = new char[300];
|
RefName = new char[300];
|
||||||
|
|
||||||
|
ColourTable.DeleteContents(TRUE);
|
||||||
|
|
||||||
int n = 1;
|
int n = 1;
|
||||||
|
|
||||||
// Read input/output files
|
// Read input/output files
|
||||||
@@ -427,6 +436,77 @@ int MyApp::OnExit()
|
|||||||
delete HelpInstance;
|
delete HelpInstance;
|
||||||
#endif // wxUSE_HELP
|
#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 (RefName)
|
||||||
|
{
|
||||||
|
delete RefName;
|
||||||
|
RefName = NULL;
|
||||||
|
}
|
||||||
|
if (TopLevel)
|
||||||
|
{
|
||||||
|
delete TopLevel;
|
||||||
|
TopLevel = NULL;
|
||||||
|
}
|
||||||
|
if (MacroFile)
|
||||||
|
{
|
||||||
|
delete MacroFile;
|
||||||
|
MacroFile = NULL;
|
||||||
|
}
|
||||||
|
if (RTFCharset)
|
||||||
|
{
|
||||||
|
delete RTFCharset;
|
||||||
|
RTFCharset = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
// TODO: this simulates zero-memory leaks!
|
// TODO: this simulates zero-memory leaks!
|
||||||
// Otherwise there are just too many...
|
// Otherwise there are just too many...
|
||||||
#ifndef __WXGTK__
|
#ifndef __WXGTK__
|
||||||
@@ -497,7 +577,8 @@ void MyFrame::OnCloseWindow(wxCloseEvent& event)
|
|||||||
|
|
||||||
void MyFrame::OnExit(wxCommandEvent& event)
|
void MyFrame::OnExit(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
this->Destroy();
|
Close();
|
||||||
|
// this->Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyFrame::OnGo(wxCommandEvent& event)
|
void MyFrame::OnGo(wxCommandEvent& event)
|
||||||
|
Reference in New Issue
Block a user