bug fix 2660689 Unconnected pads in RC4
This commit is contained in:
parent
eb4c5eba6f
commit
cbca180a12
|
@ -17,6 +17,7 @@ email address.
|
|||
So they are temporary disabled (see my comments in these functions)
|
||||
bug fix in Marque_Une_Piste(): the last segments created can be see as part of the flagged track:
|
||||
so delete track (or edit track width) deletes the track and some others segments (last created)
|
||||
bug fix 2660689 Unconnected pads in RC4. Also fixed some no deletion of the old track when creating a new track
|
||||
|
||||
|
||||
2009-Feb-25 UPDATE Wayne Stambaugh <stambaughw@verizon.net>
|
||||
|
|
|
@ -346,9 +346,7 @@ void WinEDA_BasePcbFrame::test_1_net_connexion( wxDC* DC, int net_code )
|
|||
if( m_Pcb->m_Track )
|
||||
{
|
||||
TRACK* pt_start_conn;
|
||||
TRACK* pt_end_conn;
|
||||
|
||||
pt_end_conn = NULL;
|
||||
TRACK* pt_end_conn = NULL;
|
||||
pt_start_conn = m_Pcb->m_Track.GetFirst()->GetStartNetCode( net_code );
|
||||
|
||||
if( pt_start_conn )
|
||||
|
@ -441,6 +439,7 @@ static void Build_Pads_Info_Connections_By_Tracks( TRACK* pt_start_conn, TRACK*
|
|||
{
|
||||
Track->end = Locate_Piste_Connectee( Track, Track, pt_end_conn, END );
|
||||
}
|
||||
|
||||
if( Track == pt_end_conn )
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -505,6 +505,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
|
|||
for( track=firstTrack; track && i<newCount; ++i, track = track->Next() )
|
||||
{
|
||||
track->m_Flags = 0;
|
||||
track->SetState( BUSY, OFF );
|
||||
}
|
||||
|
||||
// erase the old track, if exists
|
||||
|
|
|
@ -81,10 +81,12 @@ int EraseOldTrack( WinEDA_BasePcbFrame* frame, BOARD* Pcb, wxDC* DC,
|
|||
BufEnd = BufDeb->GetEndNetCode( netcode );
|
||||
|
||||
/* nettoyage des flags pour tout le net */
|
||||
for( pt_del = BufDeb; pt_del && pt_del != BufEnd; pt_del = pt_del->Next() )
|
||||
for( pt_del = BufDeb; pt_del; pt_del = pt_del->Next() )
|
||||
{
|
||||
D(printf("track %p turning off BUSY | EDIT | CHAIN\n", pt_del );)
|
||||
pt_del->SetState( BUSY | EDIT | CHAIN, OFF );
|
||||
if( pt_del == BufEnd ) // Last segment reached
|
||||
break;
|
||||
}
|
||||
|
||||
/* Calcul des points limites de la nouvelle piste */
|
||||
|
@ -173,10 +175,12 @@ int EraseOldTrack( WinEDA_BasePcbFrame* frame, BOARD* Pcb, wxDC* DC,
|
|||
|
||||
if( nbconnect == 0 )
|
||||
{
|
||||
/* nettoyage des flags */
|
||||
for( pt_del = BufDeb; pt_del && pt_del != BufEnd; pt_del = pt_del->Next() )
|
||||
/* Clear used flagss */
|
||||
for( pt_del = BufDeb; pt_del; pt_del = pt_del->Next() )
|
||||
{
|
||||
pt_del->SetState( DELETED | EDIT | CHAIN, OFF );
|
||||
pt_del->SetState( BUSY | DELETED | EDIT | CHAIN, OFF );
|
||||
if( pt_del == BufEnd ) // Last segment reached
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -191,10 +195,12 @@ int EraseOldTrack( WinEDA_BasePcbFrame* frame, BOARD* Pcb, wxDC* DC,
|
|||
/* Examen de tous les segments marques */
|
||||
while( nbconnect )
|
||||
{
|
||||
for( pt_del = BufDeb; pt_del && pt_del != BufEnd; pt_del = pt_del->Next() )
|
||||
for( pt_del = BufDeb; pt_del; pt_del = pt_del->Next() )
|
||||
{
|
||||
if( pt_del->GetState( CHAIN ) )
|
||||
break;
|
||||
if( pt_del == BufEnd ) // Last segment reached
|
||||
break;
|
||||
}
|
||||
|
||||
nbconnect--;
|
||||
|
@ -244,10 +250,12 @@ int EraseOldTrack( WinEDA_BasePcbFrame* frame, BOARD* Pcb, wxDC* DC,
|
|||
ListSetState( pt_del, nb_segm, BUSY, OFF );
|
||||
}
|
||||
|
||||
/* nettoyage des flags */
|
||||
for( pt_del = Pcb->m_Track; pt_del && pt_del != BufEnd; pt_del = pt_del->Next() )
|
||||
/* Clear used flags */
|
||||
for( pt_del = Pcb->m_Track; pt_del; pt_del = pt_del->Next() )
|
||||
{
|
||||
pt_del->SetState( DELETED | EDIT | CHAIN, OFF );
|
||||
pt_del->SetState( BUSY | DELETED | EDIT | CHAIN, OFF );
|
||||
if( pt_del == BufEnd ) // Last segment reached
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue