Loading CHANGELOG.txt +1 −0 Original line number Diff line number Diff line Loading @@ -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> Loading pcbnew/connect.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -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 ) Loading Loading @@ -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; } Loading pcbnew/editrack.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading pcbnew/tr_modif.cpp +16 −8 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading @@ -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; Loading @@ -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--; Loading Loading @@ -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 Loading
CHANGELOG.txt +1 −0 Original line number Diff line number Diff line Loading @@ -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> Loading
pcbnew/connect.cpp +2 −3 Original line number Diff line number Diff line Loading @@ -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 ) Loading Loading @@ -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; } Loading
pcbnew/editrack.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
pcbnew/tr_modif.cpp +16 −8 Original line number Diff line number Diff line Loading @@ -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 */ Loading Loading @@ -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; Loading @@ -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--; Loading Loading @@ -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