]> git.saurik.com Git - wxWidgets.git/commitdiff
fixed some frame cleanup stuff; The main frame (MyFrame) explicitely closes
authorHarco de Hilster <harcoh@caos.kun.nl>
Thu, 14 Oct 1999 14:57:17 +0000 (14:57 +0000)
committerHarco de Hilster <harcoh@caos.kun.nl>
Thu, 14 Oct 1999 14:57:17 +0000 (14:57 +0000)
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

samples/html/help/help.cpp

index fc9e3d71a3c2d857d5adecea57906ce96e362ee2..f67150b423ba66dc60bef7b66352c3fbb81a8990 100644 (file)
@@ -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
    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();   
+   }
+