diff --git a/eeschema/dialogs/dialog_sim_settings.cpp b/eeschema/dialogs/dialog_sim_settings.cpp index 78bafc0fa1..ccdc3510f2 100644 --- a/eeschema/dialogs/dialog_sim_settings.cpp +++ b/eeschema/dialogs/dialog_sim_settings.cpp @@ -130,6 +130,15 @@ bool DIALOG_SIM_SETTINGS::TransferDataFromWindow() DisplayError( this, e.what() ); return false; } + catch( const KI_PARAM_ERROR& e ) + { + DisplayError( this, e.What() ); + return false; + } + catch( ... ) + { + return false; + } } if( m_dcEnable2->IsChecked() ) @@ -145,6 +154,9 @@ bool DIALOG_SIM_SETTINGS::TransferDataFromWindow() if( !m_dcStart2->Validate() || !m_dcStop2->Validate() || !m_dcIncr2->Validate() ) return false; + if( m_dcStart2->IsEmpty() || m_dcStop2->IsEmpty() || m_dcIncr2->IsEmpty() ) + return false; + try { wxString dcSource = m_exporter->GetSpiceDevice( m_dcSource2->GetValue() ); @@ -160,6 +172,16 @@ bool DIALOG_SIM_SETTINGS::TransferDataFromWindow() DisplayError( this, e.what() ); return false; } + catch( const KI_PARAM_ERROR& e ) + { + DisplayError( this, e.What() ); + return false; + } + catch( ... ) + { + return false; + } + } m_simCommand = simCmd;