X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8ec2b48446fa4f17187dcd73c3a314e4030333f6..57a1fd73042accb25f48366ef8b51c974dfa2c04:/samples/html/help/help.cpp 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(); + } +