7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-18 19:59:18 +00:00

Don't assert (or crash) on shutdown.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20433
This commit is contained in:
Jeff Young 2025-03-24 12:27:55 +00:00
parent 0a4533703c
commit 9c375581ff
7 changed files with 20 additions and 6 deletions

View File

@ -1228,7 +1228,7 @@ void EDA_DRAW_FRAME::ShowChangedLanguage()
void EDA_DRAW_FRAME::UpdateProperties()
{
if( !m_propertiesPanel || !m_propertiesPanel->IsShownOnScreen() )
if( m_isClosing || !m_propertiesPanel || !m_propertiesPanel->IsShownOnScreen() )
return;
m_propertiesPanel->UpdateData();

View File

@ -1176,7 +1176,8 @@ void SCH_EDIT_FRAME::OnModify()
if( GetScreen() )
GetScreen()->SetContentModified();
m_autoSaveRequired = true;
if( m_isClosing )
return;
if( GetCanvas() )
GetCanvas()->Refresh();

View File

@ -1030,11 +1030,13 @@ void SYMBOL_EDIT_FRAME::OnModify()
EDA_BASE_FRAME::OnModify();
GetScreen()->SetContentModified();
m_autoSaveRequired = true;
if( !IsSymbolFromSchematic() )
storeCurrentSymbol();
if( m_isClosing )
return;
GetLibTree()->RefreshLibTree();
if( !GetTitle().StartsWith( "*" ) )

View File

@ -377,6 +377,9 @@ void PL_EDITOR_FRAME::OnModify()
GetScreen()->SetContentModified();
if( m_isClosing )
return;
UpdateTitleAndInfo();
}

View File

@ -979,6 +979,10 @@ void FOOTPRINT_EDIT_FRAME::ShowChangedLanguage()
void FOOTPRINT_EDIT_FRAME::OnModify()
{
PCB_BASE_FRAME::OnModify();
if( m_isClosing )
return;
Update3DView( true, true );
GetLibTree()->RefreshLibTree();

View File

@ -996,10 +996,11 @@ void PCB_BASE_FRAME::OnModify()
EDA_BASE_FRAME::OnModify();
GetScreen()->SetContentModified();
m_autoSaveRequired = true;
GetBoard()->IncrementTimeStamp();
if( m_isClosing )
return;
UpdateStatusBar();
UpdateMsgPanel();
}

View File

@ -1829,13 +1829,16 @@ void PCB_EDIT_FRAME::SetLastPath( LAST_PATH_TYPE aType, const wxString& aLastPat
void PCB_EDIT_FRAME::OnModify()
{
PCB_BASE_FRAME::OnModify();
m_ZoneFillsDirty = true;
if( m_isClosing )
return;
Update3DView( true, GetPcbNewSettings()->m_Display.m_Live3DRefresh );
if( !GetTitle().StartsWith( wxT( "*" ) ) )
UpdateTitle();
m_ZoneFillsDirty = true;
}