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)
|
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:
|
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)
|
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>
|
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 )
|
if( m_Pcb->m_Track )
|
||||||
{
|
{
|
||||||
TRACK* pt_start_conn;
|
TRACK* pt_start_conn;
|
||||||
TRACK* pt_end_conn;
|
TRACK* pt_end_conn = NULL;
|
||||||
|
|
||||||
pt_end_conn = NULL;
|
|
||||||
pt_start_conn = m_Pcb->m_Track.GetFirst()->GetStartNetCode( net_code );
|
pt_start_conn = m_Pcb->m_Track.GetFirst()->GetStartNetCode( net_code );
|
||||||
|
|
||||||
if( pt_start_conn )
|
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 );
|
Track->end = Locate_Piste_Connectee( Track, Track, pt_end_conn, END );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( Track == pt_end_conn )
|
if( Track == pt_end_conn )
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -505,6 +505,7 @@ void WinEDA_PcbFrame::End_Route( TRACK* aTrack, wxDC* DC )
|
||||||
for( track=firstTrack; track && i<newCount; ++i, track = track->Next() )
|
for( track=firstTrack; track && i<newCount; ++i, track = track->Next() )
|
||||||
{
|
{
|
||||||
track->m_Flags = 0;
|
track->m_Flags = 0;
|
||||||
|
track->SetState( BUSY, OFF );
|
||||||
}
|
}
|
||||||
|
|
||||||
// erase the old track, if exists
|
// erase the old track, if exists
|
||||||
|
|
|
@ -81,10 +81,12 @@ int EraseOldTrack( WinEDA_BasePcbFrame* frame, BOARD* Pcb, wxDC* DC,
|
||||||
BufEnd = BufDeb->GetEndNetCode( netcode );
|
BufEnd = BufDeb->GetEndNetCode( netcode );
|
||||||
|
|
||||||
/* nettoyage des flags pour tout le net */
|
/* 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 );)
|
D(printf("track %p turning off BUSY | EDIT | CHAIN\n", pt_del );)
|
||||||
pt_del->SetState( BUSY | EDIT | CHAIN, OFF );
|
pt_del->SetState( BUSY | EDIT | CHAIN, OFF );
|
||||||
|
if( pt_del == BufEnd ) // Last segment reached
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Calcul des points limites de la nouvelle piste */
|
/* Calcul des points limites de la nouvelle piste */
|
||||||
|
@ -173,10 +175,12 @@ int EraseOldTrack( WinEDA_BasePcbFrame* frame, BOARD* Pcb, wxDC* DC,
|
||||||
|
|
||||||
if( nbconnect == 0 )
|
if( nbconnect == 0 )
|
||||||
{
|
{
|
||||||
/* nettoyage des flags */
|
/* Clear used flagss */
|
||||||
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() )
|
||||||
{
|
{
|
||||||
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;
|
return 0;
|
||||||
|
@ -191,10 +195,12 @@ int EraseOldTrack( WinEDA_BasePcbFrame* frame, BOARD* Pcb, wxDC* DC,
|
||||||
/* Examen de tous les segments marques */
|
/* Examen de tous les segments marques */
|
||||||
while( nbconnect )
|
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 ) )
|
if( pt_del->GetState( CHAIN ) )
|
||||||
break;
|
break;
|
||||||
|
if( pt_del == BufEnd ) // Last segment reached
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
nbconnect--;
|
nbconnect--;
|
||||||
|
@ -244,10 +250,12 @@ int EraseOldTrack( WinEDA_BasePcbFrame* frame, BOARD* Pcb, wxDC* DC,
|
||||||
ListSetState( pt_del, nb_segm, BUSY, OFF );
|
ListSetState( pt_del, nb_segm, BUSY, OFF );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* nettoyage des flags */
|
/* Clear used flags */
|
||||||
for( pt_del = Pcb->m_Track; pt_del && pt_del != BufEnd; pt_del = pt_del->Next() )
|
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;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue