Avoid implementation dependent on events
Adding a page in the ctor can generate events that change the default
page. Instead, we set the default after all pages have been added,
avoiding the reset
Fixes https://gitlab.com/kicad/code/kicad/issues/10910
(cherry picked from commit 5314ba6440
)
This commit is contained in:
parent
0440aa3d83
commit
fd59179cd2
|
@ -217,11 +217,7 @@ NETLIST_PAGE_DIALOG::NETLIST_PAGE_DIALOG( wxNotebook* parent, const wxString& ti
|
|||
m_TitleStringCtrl = nullptr;
|
||||
m_AdjustPassiveValues = nullptr;
|
||||
|
||||
wxString netfmtName = static_cast<NETLIST_DIALOG*>( parent->GetParent() )->m_DefaultNetFmtName;
|
||||
|
||||
bool selected = m_pageNetFmtName == netfmtName;
|
||||
|
||||
parent->AddPage( this, title, selected );
|
||||
parent->AddPage( this, title, false );
|
||||
|
||||
wxBoxSizer* MainBoxSizer = new wxBoxSizer( wxVERTICAL );
|
||||
SetSizer( MainBoxSizer );
|
||||
|
@ -267,6 +263,15 @@ NETLIST_DIALOG::NETLIST_DIALOG( SCH_EDIT_FRAME* parent ) :
|
|||
SetupStandardButtons( { { wxID_OK, _( "Export Netlist" ) },
|
||||
{ wxID_CANCEL, _( "Close" ) } } );
|
||||
|
||||
for( int ii = 0; m_PanelNetType[ii] && ii < 4 + CUSTOMPANEL_COUNTMAX; ++ii )
|
||||
{
|
||||
if( m_PanelNetType[ii]->GetPageNetFmtName() == settings.m_NetFormatName )
|
||||
{
|
||||
m_NoteBook->ChangeSelection( ii );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Now all widgets have the size fixed, call FinishDialogSettings
|
||||
finishDialogSettings();
|
||||
}
|
||||
|
@ -427,7 +432,6 @@ void NETLIST_DIALOG::NetlistUpdateOpt()
|
|||
|
||||
settings.m_SpiceAdjustPassiveValues = adjust;
|
||||
settings.m_SpiceCommandString = spice_cmd_string;
|
||||
settings.m_NetFormatName = wxEmptyString;
|
||||
settings.m_NetFormatName = m_DefaultNetFmtName;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue