mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2024-11-24 17:05:03 +00:00
66f6168163
Don't assume the dialog is mode-less and call Destroy() from within a dialog method. This will most assuredly crash if the dialog is shown modally or quasi-modally. Don't leak memory for mode-less dialogs created on the stack. Make sure when the parent frame window is closed that all mode-less dialog memory is cleaned up. Dialogs are not child windows like controls and toolbars so their memory does not automatically get cleaned up when the parent window is destroyed. Do not directly access frame parent window's pointer in dialog destructors. Apparently the tear down order when destroying mode-less dialogs is not guaranteed so the parent window may get deleted before the dialog causing a crash when accessing the parent window pointer from the dialog dtor. Do not close mode-less dialogs in the parent frame's destructor. This doesn't guarantee that the dialog(s) will be destroyed before the parent but it may reduce some careless mode-less dialog event handling in the future.
49 lines
1.5 KiB
C++
49 lines
1.5 KiB
C++
///////////////////////////////////////////////////////////////////////////
|
|
// C++ code generated with wxFormBuilder (version 3.10.1-0-g8feb16b)
|
|
// http://www.wxformbuilder.org/
|
|
//
|
|
// PLEASE DO *NOT* EDIT THIS FILE!
|
|
///////////////////////////////////////////////////////////////////////////
|
|
|
|
#include "dialog_book_reporter_base.h"
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
|
|
DIALOG_BOOK_REPORTER_BASE::DIALOG_BOOK_REPORTER_BASE( wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style ) : DIALOG_SHIM( parent, id, title, pos, size, style )
|
|
{
|
|
this->SetSizeHints( wxDefaultSize, wxDefaultSize );
|
|
|
|
wxBoxSizer* bMainSizer;
|
|
bMainSizer = new wxBoxSizer( wxVERTICAL );
|
|
|
|
m_notebook = new wxNotebook( this, wxID_ANY, wxDefaultPosition, wxSize( -1,-1 ), 0 );
|
|
m_notebook->SetMinSize( wxSize( 550,480 ) );
|
|
|
|
|
|
bMainSizer->Add( m_notebook, 1, wxEXPAND|wxALL, 10 );
|
|
|
|
m_sdbSizer = new wxStdDialogButtonSizer();
|
|
m_sdbSizerOK = new wxButton( this, wxID_OK );
|
|
m_sdbSizer->AddButton( m_sdbSizerOK );
|
|
m_sdbSizer->Realize();
|
|
|
|
bMainSizer->Add( m_sdbSizer, 0, wxEXPAND|wxALL, 5 );
|
|
|
|
|
|
this->SetSizer( bMainSizer );
|
|
this->Layout();
|
|
bMainSizer->Fit( this );
|
|
|
|
this->Centre( wxBOTH );
|
|
|
|
// Connect Events
|
|
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_BOOK_REPORTER_BASE::OnClose ) );
|
|
}
|
|
|
|
DIALOG_BOOK_REPORTER_BASE::~DIALOG_BOOK_REPORTER_BASE()
|
|
{
|
|
// Disconnect Events
|
|
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_BOOK_REPORTER_BASE::OnClose ) );
|
|
|
|
}
|