Browse Source

Fixes crash in wire property dialog

Fixes crash when changes are applied with the style combo in the
indeterminate state.
newinvert
Erik Agsjö 2 years ago
committed by Jeff Young
parent
commit
2651d7ff5b
  1. 23
      eeschema/dialogs/dialog_wire_bus_properties.cpp

23
eeschema/dialogs/dialog_wire_bus_properties.cpp

@ -193,18 +193,21 @@ bool DIALOG_WIRE_BUS_PROPERTIES::TransferDataFromWindow()
static_cast<SCH_BUS_ENTRY_BASE*>( item )->SetPenWidth( width );
}
PLOT_DASH_TYPE lineStyle = PLOT_DASH_TYPE::DEFAULT;
auto it = lineTypeNames.begin();
std::advance( it, m_typeCombo->GetSelection() );
size_t lineTypeSelection = m_typeCombo->GetSelection();
if( lineTypeSelection < lineTypeNames.size() )
{
PLOT_DASH_TYPE lineStyle = PLOT_DASH_TYPE::DEFAULT;
if( it != lineTypeNames.end() )
lineStyle = it->first;
auto it = lineTypeNames.begin();
std::advance( it, lineTypeSelection );
if( it != lineTypeNames.end() )
lineStyle = it->first;
if( item->Type() == SCH_LINE_T )
static_cast<SCH_LINE*>( item )->SetLineStyle( lineStyle );
else if( dynamic_cast<SCH_BUS_ENTRY_BASE*>( item ) )
static_cast<SCH_BUS_ENTRY_BASE*>( item )->SetLineStyle( lineStyle );
if( item->Type() == SCH_LINE_T )
static_cast<SCH_LINE*>( item )->SetLineStyle( lineStyle );
else if( dynamic_cast<SCH_BUS_ENTRY_BASE*>( item ) )
static_cast<SCH_BUS_ENTRY_BASE*>( item )->SetLineStyle( lineStyle );
}
COLOR4D color = m_colorSwatch->GetSwatchColor();

Loading…
Cancel
Save