diff --git a/eeschema/tools/sch_edit_tool.cpp b/eeschema/tools/sch_edit_tool.cpp index 9cab970bf0..4cab465f99 100644 --- a/eeschema/tools/sch_edit_tool.cpp +++ b/eeschema/tools/sch_edit_tool.cpp @@ -142,12 +142,13 @@ private: EE_SELECTION_TOOL* selTool = getToolManager()->GetTool(); EE_SELECTION& selection = selTool->GetSelection(); SCH_PIN* pin = dynamic_cast( selection.Front() ); + LIB_PIN* libPin = pin ? pin->GetLibPin() : nullptr; Clear(); - wxCHECK( pin, /* void */ ); + wxCHECK( libPin, /* void */ ); - wxMenuItem* item = Append( ID_POPUP_SCH_ALT_PIN_FUNCTION, pin->GetName(), wxEmptyString, + wxMenuItem* item = Append( ID_POPUP_SCH_ALT_PIN_FUNCTION, libPin->GetName(), wxEmptyString, wxITEM_CHECK ); if( pin->GetAlt().IsEmpty() ) @@ -155,7 +156,7 @@ private: int ii = 1; - for( const auto& [ name, definition ] : pin->GetLibPin()->GetAlternates() ) + for( const auto& [ name, definition ] : libPin->GetAlternates() ) { item = Append( ID_POPUP_SCH_ALT_PIN_FUNCTION + ii, name, wxEmptyString, wxITEM_CHECK );