From: Harco de Hilster Date: Thu, 14 Oct 1999 14:57:17 +0000 (+0000) Subject: fixed some frame cleanup stuff; The main frame (MyFrame) explicitely closes X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/8f8ca6c9527ccd3856539f0ba25373e1cca01b0c fixed some frame cleanup stuff; The main frame (MyFrame) explicitely closes the helpframe now before deleting the config pointer and closing itself. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/samples/html/help/help.cpp b/samples/html/help/help.cpp index fc9e3d71a3..f67150b423 100644 --- a/samples/html/help/help.cpp +++ b/samples/html/help/help.cpp @@ -55,7 +55,7 @@ // event handlers (these functions should _not_ be virtual) void OnQuit(wxCommandEvent& event); void OnHelp(wxCommandEvent& event); - + void OnClose(wxCloseEvent& event); private: wxHtmlHelpController help; wxConfig* config; @@ -86,6 +86,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(Minimal_Quit, MyFrame::OnQuit) EVT_MENU(Minimal_Help, MyFrame::OnHelp) + EVT_CLOSE(MyFrame::OnClose) END_EVENT_TABLE() // Create a new application object: this macro will allow wxWindows to create @@ -168,18 +169,25 @@ void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { // TRUE is to force the frame to close - delete config; Close(TRUE); } - - - void MyFrame::OnHelp(wxCommandEvent& WXUNUSED(event)) { help.Display("Main page"); } + void MyFrame::OnClose(wxCloseEvent& event) + { + // Close the help frame; this will cause the config data to + // get written. + if ( help.GetFrame() ) // returns NULL if no help frame active + help.GetFrame()->Close(TRUE); + // now we can safely delete the config pointer + delete config; + event.Skip(); + } +