From 433616cbf02d3e7ef054feb7701ba41fea8ee4a0 Mon Sep 17 00:00:00 2001 From: Jon Evans Date: Tue, 11 Aug 2020 18:56:47 -0400 Subject: [PATCH] Prevent segfault on schematic frame close We are seeing multiple events firing when closing via the manager frame. Cleaning up the schematic should only happen once. --- eeschema/sch_edit_frame.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/eeschema/sch_edit_frame.cpp b/eeschema/sch_edit_frame.cpp index 3bd2714dde..0184e48075 100644 --- a/eeschema/sch_edit_frame.cpp +++ b/eeschema/sch_edit_frame.cpp @@ -501,6 +501,10 @@ void SCH_EDIT_FRAME::OnCloseWindow( wxCloseEvent& aEvent ) if( simFrame && !simFrame->Close() ) // Can close the simulator? return; + // We may have gotten multiple events; don't clean up twice + if( !Schematic().IsValid() ) + return; + SCH_SHEET_LIST sheetlist = Schematic().GetSheets(); if( sheetlist.IsModified() )