patch from Dimitri fixing a few memory leaks and unTABbing the sources

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14660 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2002-03-17 14:16:03 +00:00
parent 1c9f1f4d51
commit 2f6c54eb07
62 changed files with 616 additions and 552 deletions

View File

@@ -196,12 +196,13 @@ void MyCanvas::OnPaint( wxPaintEvent &event )
wxLogDebug( "size %d %d client_size %d %d", size.x, size.y, client_size.x, client_size.y );
#endif
int i;
dc.SetPen( *wxWHITE_PEN );
for (int i = 0; i < 20; i += 2)
for (i = 0; i < 20; i += 2)
dc.DrawLine( i,i, i+100,i );
dc.SetPen( *wxWHITE_PEN );
for (int i = 200; i < 220; i += 2)
for (i = 200; i < 220; i += 2)
dc.DrawLine( i-200,i, i-100,i );
wxRegion region( 110, 110, 80, 80 );

View File

@@ -25,8 +25,10 @@ static const char sccsid[] = "%W% %G%";
// Define a new application type
class MyApp: public wxApp
{ public:
bool OnInit(void);
{
public:
virtual bool OnInit(void);
virtual int OnExit();
};
@@ -154,8 +156,28 @@ bool MyApp::OnInit(void)
return TRUE;
}
int MyApp::OnExit()
{
if (cellBitmap1)
{
delete cellBitmap1;
cellBitmap1 = (wxBitmap *) NULL;
}
if (cellBitmap2)
{
delete cellBitmap2;
cellBitmap1 = (wxBitmap *) NULL;
}
// exit code is 0, everything is ok
return 0;
}
// My frame constructor
MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size):
MyFrame::MyFrame(wxFrame *frame, const wxString& title,
const wxPoint& pos, const wxSize& size):
wxFrame(frame, -1, title, pos, size)
{
grid = (wxGrid*) NULL;
@@ -197,6 +219,7 @@ void MyFrame::ToggleRowLabel(wxCommandEvent& WXUNUSED(event))
grid->SetLabelSize(wxVERTICAL, 0);
else
grid->SetLabelSize(wxVERTICAL, 40);
grid->Refresh();
}
@@ -206,6 +229,7 @@ void MyFrame::ToggleColLabel(wxCommandEvent& WXUNUSED(event))
grid->SetLabelSize(wxHORIZONTAL, 0);
else
grid->SetLabelSize(wxHORIZONTAL, 20);
grid->Refresh();
}
@@ -215,6 +239,7 @@ void MyFrame::ToggleDividers(wxCommandEvent& WXUNUSED(event))
grid->SetDividerPen(wxPen(wxT("LIGHT GREY"), 1, wxSOLID));
else
grid->SetDividerPen(wxNullPen);
grid->Refresh();
}

View File

@@ -44,9 +44,10 @@ class MyApp : public wxApp
class MyFrame : public wxFrame
{
public:
// ctor(s)
// ctor and dtor
MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
virtual ~MyFrame();
// event handlers (these functions should _not_ be virtual)
void OnQuit(wxCommandEvent& event);
@@ -185,12 +186,18 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
m_Prn -> SetHeader(m_Name + "(@PAGENUM@/@PAGESCNT@)<hr>", wxPAGE_ALL);
}
// frame destructor
MyFrame::~MyFrame()
{
delete m_Prn;
m_Prn = (wxHtmlEasyPrinting *) NULL;
}
// event handlers
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
delete m_Prn;
// TRUE is to force the frame to close
Close(TRUE);
}

View File

@@ -318,6 +318,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id,
image.Destroy();
if ( !image.LoadFile( dir + wxString("horse.gif")))
//if ( !image.LoadFile( wxString("\\slidbar.gif"), wxBITMAP_TYPE_GIF, -2) )
wxLogError(wxT("Can't load GIF image"));
else
my_horse_gif = new wxBitmap( image );
@@ -430,6 +431,7 @@ MyCanvas::~MyCanvas()
delete my_horse_ico32;
delete my_horse_ico16;
delete my_horse_ico;
delete my_horse_cur;
delete my_smile_xbm;
delete my_square;
delete my_anti;

View File

@@ -121,11 +121,17 @@ int MyApp::OnExit()
if (the_connection)
{
the_connection->Disconnect();
delete the_connection;
the_connection = NULL;
}
// will delete the connection too
// Update: Seems it didn't delete the_connection, because there's a leak.
// Deletion is now explicitly done a few lines up.
delete my_client;
return 0;
}
@@ -207,11 +213,6 @@ MyConnection::MyConnection()
{
}
MyConnection::~MyConnection()
{
the_connection = NULL;
}
bool MyConnection::OnAdvise(const wxString& topic, const wxString& item, char *data, int size, wxIPCFormat format)
{
if (the_list)

View File

@@ -38,7 +38,6 @@ class MyConnection: public wxConnection
{
public:
MyConnection();
~MyConnection();
bool OnAdvise(const wxString& topic, const wxString& item, char *data, int size, wxIPCFormat format);
bool OnDisconnect();

View File

@@ -30,9 +30,10 @@
#ifndef WX_PRECOMP
#include "wx/wx.h"
#endif
#include "wx/colordlg.h"
#include "wx/fontdlg.h"
#endif
#include "wx/grid.h"
#include "wx/generic/gridctrl.h"
@@ -830,7 +831,6 @@ void GridFrame::OnEditorShown( wxGridEvent& ev )
return;
}
wxLogMessage( wxT("Cell editor shown.") );
ev.Skip();

View File

@@ -87,6 +87,16 @@ MyFrame::MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, cons
canvas = (MyCanvas *) NULL;
}
// frame destructor
MyFrame::~MyFrame()
{
if (g_TestBitmap)
{
delete g_TestBitmap;
g_TestBitmap = (wxBitmap *) NULL;
}
}
void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
{
Close(TRUE);
@@ -138,6 +148,7 @@ void MyFrame::OnLoadFile(wxCommandEvent& WXUNUSED(event))
if ( g_TestBitmap )
delete g_TestBitmap;
g_TestBitmap = new wxBitmap(f, wxBITMAP_TYPE_PNG);
if (!g_TestBitmap->Ok())
{

View File

@@ -31,6 +31,7 @@ class MyFrame: public wxFrame
public:
MyCanvas *canvas;
MyFrame(wxFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size);
virtual ~MyFrame();
void OnActivate(bool) {}
void OnLoadFile(wxCommandEvent& event);

View File

@@ -169,10 +169,12 @@ void MyApp::PropertyListTest(bool useDialog)
wxStringList *strings2 = new wxStringList(wxT("earth"), wxT("fire"), wxT("wind"), wxT("water"), NULL);
sheet->AddProperty(new wxProperty("string list", strings2, "stringlist"));
wxPropertyListView *view =
new wxPropertyListView(NULL,
wxPROP_BUTTON_OK | wxPROP_BUTTON_CANCEL |
wxPROP_BUTTON_CHECK_CROSS|wxPROP_DYNAMIC_VALUE_FIELD|wxPROP_PULLDOWN|wxPROP_SHOWVALUES);
wxPropertyListView *view = new wxPropertyListView
(
NULL,
wxPROP_BUTTON_OK | wxPROP_BUTTON_CANCEL | wxPROP_BUTTON_CHECK_CROSS
|wxPROP_DYNAMIC_VALUE_FIELD|wxPROP_PULLDOWN|wxPROP_SHOWVALUES
);
wxDialog *propDialog = NULL;
wxPropertyListFrame *propFrame = NULL;
@@ -224,6 +226,7 @@ void MyApp::PropertyFormTest(bool useDialog)
wxDialog *propDialog = NULL;
wxPropertyFormFrame *propFrame = NULL;
if (useDialog)
{
propDialog = new PropFormDialog(view, NULL, "Property Form Test",
@@ -232,8 +235,8 @@ void MyApp::PropertyFormTest(bool useDialog)
}
else
{
propFrame = new PropFormFrame(view, NULL, "Property Form Test", wxPoint(-1,
-1), wxSize(380, 250));
propFrame = new PropFormFrame(view, NULL, "Property Form Test",
wxPoint(-1, -1), wxSize(380, 250));
propFrame->Initialize();
m_childWindow = propFrame;
}
@@ -333,8 +336,8 @@ void MyApp::PropertyFormTest(bool useDialog)
c->width.AsIs();
slider->SetConstraints(c);
wxListBox *listBox = new wxListBox(panel, -1, wxPoint(-1, -1), wxSize(200, 100),
0, NULL, 0, wxDefaultValidator, "constrained");
wxListBox *listBox = new wxListBox(panel, -1, wxPoint(-1, -1),
wxSize(200, 100), 0, NULL, 0, wxDefaultValidator, "constrained");
c = new wxLayoutConstraints;
c->left.SameAs(panel, wxLeft, 4);
@@ -355,7 +358,9 @@ void MyApp::PropertyFormTest(bool useDialog)
propDialog->Layout();
propDialog->Centre(wxBOTH);
propDialog->Show(TRUE);
} else {
}
else
{
// panel->Layout();
propFrame->Centre(wxBOTH);
propFrame->Show(TRUE);

View File

@@ -831,7 +831,7 @@ Package=<4>
###############################################################################
Project: "treectrl"=.\treectrl\treectrl.dsp - Package Owner=<4>
Project: "treetest"=.\treectrl\treetest.dsp - Package Owner=<4>
Package=<5>
{{{

View File

@@ -24,7 +24,7 @@
#include "treelay.h"
wxTreeLayoutStored *myTree = NULL;
wxTreeLayoutStored *myTree = (wxTreeLayoutStored *) NULL;
// A macro needed for some compilers (AIX) that need 'main' to be defined
// in the application itself.
@@ -85,6 +85,17 @@ bool MyApp::OnInit()
return TRUE;
}
int MyApp::OnExit()
{
if (myTree)
{
delete myTree;
myTree = (wxTreeLayoutStored *) NULL;
}
return 0;
}
void MyApp::TreeTest(wxTreeLayoutStored& tree, wxDC& dc)
{
tree.Initialize(200);

View File

@@ -13,7 +13,8 @@
class MyApp: public wxApp
{
public:
bool OnInit();
virtual bool OnInit();
virtual int OnExit();
void TreeTest(wxTreeLayoutStored& tree, wxDC& dc);
};