fixed track delete bug

This commit is contained in:
dickelbeck 2007-11-02 20:17:35 +00:00
parent f72c53e871
commit eb3976df29
1 changed files with 11 additions and 3 deletions

View File

@ -314,13 +314,19 @@ void WinEDA_PcbFrame::OnHotKey( wxDC* DC, int hotkey,
// don't let backspace delete modules!! // don't let backspace delete modules!!
if( DrawStruct && (DrawStruct->Type() == TYPETRACK if( DrawStruct && (DrawStruct->Type() == TYPETRACK
|| DrawStruct->Type() == TYPEVIA) ) || DrawStruct->Type() == TYPEVIA) )
{
Delete_Segment( DC, (TRACK*) DrawStruct ); Delete_Segment( DC, (TRACK*) DrawStruct );
SetCurItem(NULL);
}
GetScreen()->SetModify(); GetScreen()->SetModify();
} }
else if( GetCurItem()->Type() == TYPETRACK ) else if( GetCurItem()->Type() == TYPETRACK )
{ {
// then an element is being edited - remove the last segment. // then an element is being edited - remove the last segment.
SetCurItem( Delete_Segment( DC, (TRACK*) GetCurItem() ) ); // simple lines for debugger:
TRACK* track = (TRACK*) GetCurItem() ;
track = Delete_Segment( DC, track );
SetCurItem( track );
GetScreen()->SetModify(); GetScreen()->SetModify();
} }
} }
@ -581,8 +587,10 @@ bool WinEDA_PcbFrame::OnHotkeyDeleteItem( wxDC* DC, EDA_BaseStruct* DrawStruct )
} }
else if( GetCurItem()->Type() == TYPETRACK ) else if( GetCurItem()->Type() == TYPETRACK )
{ {
SetCurItem( // simple lines for debugger:
Delete_Segment( DC, (TRACK*) GetCurItem() ) ); TRACK* track = (TRACK*) GetCurItem();
track = Delete_Segment( DC, track );
SetCurItem( track );
GetScreen()->SetModify(); GetScreen()->SetModify();
return TRUE; return TRUE;
} }