Commit 740c03e7 authored by jean-pierre charras's avatar jean-pierre charras

Fix bug 711751.

parent c9b27ee7
...@@ -112,22 +112,16 @@ D_PAD* Locate_Pad_Connecte( BOARD* Pcb, TRACK* ptr_piste, int extr ) ...@@ -112,22 +112,16 @@ D_PAD* Locate_Pad_Connecte( BOARD* Pcb, TRACK* ptr_piste, int extr )
/* /*
* Locate pad pointed to by the coordinates ref_pos.x,, ref_pos.y or * Locate a pad pointed to by the coordinates ref_pos.x, ref_pos.y
* the mouse, search done on all tracks. * aLayerMask is allowed layers ( bitmap mask)
* Input:
* - mouse coord or ref_pos
* Returns: * Returns:
* Pointer to the pad if found. * Pointer to a pad if found or NULL
* NULL pointer if pad NOT FOUND
* Num_empr = number of fingerprint pad
*
* Priority is the active layer
*/ */
D_PAD* Locate_Any_Pad( BOARD* Pcb, const wxPoint& ref_pos, int aLayerMask ) D_PAD* Locate_Any_Pad( BOARD* Pcb, const wxPoint& ref_pos, int aLayerMask )
{ {
D_PAD* pad = NULL; D_PAD* pad = NULL;
for( MODULE* module=Pcb->m_Modules; module && ( pad == NULL ); module = module->Next() ) for( MODULE* module=Pcb->m_Modules; module && ( pad == NULL ); module = module->Next() )
{ {
if( aLayerMask ) if( aLayerMask )
pad = Locate_Pads( module, ref_pos, aLayerMask ); pad = Locate_Pads( module, ref_pos, aLayerMask );
...@@ -139,14 +133,12 @@ D_PAD* Locate_Any_Pad( BOARD* Pcb, const wxPoint& ref_pos, int aLayerMask ) ...@@ -139,14 +133,12 @@ D_PAD* Locate_Any_Pad( BOARD* Pcb, const wxPoint& ref_pos, int aLayerMask )
} }
/* Locate pad pointed to by the coordinate ref_pos.x,, ref_pos.y or /* Locate the pad pointed to by the coordinate ref_pos.x,, ref_pos.y
* the mouse on the current footprint.
* Input: * Input:
* - General parameters of the footprint update by characters() * - the footprint to test
* - = Masque_layer layer(s) (bit_masque) which must be the pad * - masque_layer layer(s) (bit_masque) which must be the pad
* Returns: * Returns:
* A pointer to the pad if found * A pointer to the pad if found or NULL
* NULL pointer if pad NOT FOUND
*/ */
D_PAD* Locate_Pads( MODULE* module, const wxPoint& ref_pos, int masque_layer ) D_PAD* Locate_Pads( MODULE* module, const wxPoint& ref_pos, int masque_layer )
{ {
......
...@@ -152,7 +152,8 @@ bool Magnetize( BOARD* m_Pcb, WinEDA_PcbFrame* frame, int aCurrentTool, wxSize g ...@@ -152,7 +152,8 @@ bool Magnetize( BOARD* m_Pcb, WinEDA_PcbFrame* frame, int aCurrentTool, wxSize g
if( doPad ) if( doPad )
{ {
D_PAD* pad = Locate_Any_Pad( m_Pcb, pos, screen->m_Active_Layer ); int layer_mask = g_TabOneLayerMask[screen->m_Active_Layer];
D_PAD* pad = Locate_Any_Pad( m_Pcb, pos, layer_mask );
if( pad ) if( pad )
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment