Loading eeschema/cross-probing.cpp +16 −12 Original line number Original line Diff line number Diff line Loading @@ -93,7 +93,8 @@ void WinEDA_SchematicFrame::SendMessageToPCBNEW( EDA_BaseStruct* objectToSync ) * $PIN: number $PART: reference put cursor on the footprint pad * $PIN: number $PART: reference put cursor on the footprint pad */ */ { { if ( objectToSync == NULL )return; if( objectToSync == NULL ) return; LibDrawPin* Pin = NULL; LibDrawPin* Pin = NULL; EDA_SchComponentStruct* LibItem = NULL; EDA_SchComponentStruct* LibItem = NULL; Loading @@ -106,7 +107,8 @@ void WinEDA_SchematicFrame::SendMessageToPCBNEW( EDA_BaseStruct* objectToSync ) { { PartTextStruct* Field = (PartTextStruct*) objectToSync; PartTextStruct* Field = (PartTextStruct*) objectToSync; LibItem = (EDA_SchComponentStruct*) Field->m_Parent; LibItem = (EDA_SchComponentStruct*) Field->m_Parent; if( LibItem == NULL ) break; if( LibItem == NULL ) break; sprintf( Line, "$PART: %s", CONV_TO_UTF8( LibItem->m_Field[REFERENCE].m_Text ) ); sprintf( Line, "$PART: %s", CONV_TO_UTF8( LibItem->m_Field[REFERENCE].m_Text ) ); SendCommand( MSG_TO_PCB, Line ); SendCommand( MSG_TO_PCB, Line ); } } Loading @@ -118,11 +120,13 @@ void WinEDA_SchematicFrame::SendMessageToPCBNEW( EDA_BaseStruct* objectToSync ) SendCommand( MSG_TO_PCB, Line ); SendCommand( MSG_TO_PCB, Line ); break; break; case COMPONENT_PIN_DRAW_TYPE: case COMPONENT_PIN_DRAW_TYPE: Pin = (LibDrawPin*) objectToSync; Pin = (LibDrawPin*) objectToSync; LibItem = (EDA_SchComponentStruct*) Pin->m_Parent; LibItem = (EDA_SchComponentStruct*) Pin->m_Parent; if( LibItem == NULL ) break; if( LibItem == NULL ) break; if( Pin->m_PinNum ) if( Pin->m_PinNum ) { { wxString pinnum; wxString pinnum; Loading todo.txt +8 −0 Original line number Original line Diff line number Diff line Loading @@ -62,3 +62,11 @@ the MARKER is 12 pixels by 12 pixels, but is not resized with zoom, so as zoom changes, the effective real size of the MARKER changes. as zoom changes, the effective real size of the MARKER changes. @todo: compensate for the zoom. right now it is difficult to select marker when zoomed out. @todo: compensate for the zoom. right now it is difficult to select marker when zoomed out. *** cross probing from eeschema to pcbnew is broken: When a pin is selected in eeschema, pcbnew is not asked to find it. The problem was tracked down to this block of code in eeschema/cross-probing.cpp LibItem = (EDA_SchComponentStruct*) Pin->m_Parent; if( LibItem == NULL ) break; apparently the parent of the pin is not being set during library loading. Loading
eeschema/cross-probing.cpp +16 −12 Original line number Original line Diff line number Diff line Loading @@ -93,7 +93,8 @@ void WinEDA_SchematicFrame::SendMessageToPCBNEW( EDA_BaseStruct* objectToSync ) * $PIN: number $PART: reference put cursor on the footprint pad * $PIN: number $PART: reference put cursor on the footprint pad */ */ { { if ( objectToSync == NULL )return; if( objectToSync == NULL ) return; LibDrawPin* Pin = NULL; LibDrawPin* Pin = NULL; EDA_SchComponentStruct* LibItem = NULL; EDA_SchComponentStruct* LibItem = NULL; Loading @@ -106,7 +107,8 @@ void WinEDA_SchematicFrame::SendMessageToPCBNEW( EDA_BaseStruct* objectToSync ) { { PartTextStruct* Field = (PartTextStruct*) objectToSync; PartTextStruct* Field = (PartTextStruct*) objectToSync; LibItem = (EDA_SchComponentStruct*) Field->m_Parent; LibItem = (EDA_SchComponentStruct*) Field->m_Parent; if( LibItem == NULL ) break; if( LibItem == NULL ) break; sprintf( Line, "$PART: %s", CONV_TO_UTF8( LibItem->m_Field[REFERENCE].m_Text ) ); sprintf( Line, "$PART: %s", CONV_TO_UTF8( LibItem->m_Field[REFERENCE].m_Text ) ); SendCommand( MSG_TO_PCB, Line ); SendCommand( MSG_TO_PCB, Line ); } } Loading @@ -118,11 +120,13 @@ void WinEDA_SchematicFrame::SendMessageToPCBNEW( EDA_BaseStruct* objectToSync ) SendCommand( MSG_TO_PCB, Line ); SendCommand( MSG_TO_PCB, Line ); break; break; case COMPONENT_PIN_DRAW_TYPE: case COMPONENT_PIN_DRAW_TYPE: Pin = (LibDrawPin*) objectToSync; Pin = (LibDrawPin*) objectToSync; LibItem = (EDA_SchComponentStruct*) Pin->m_Parent; LibItem = (EDA_SchComponentStruct*) Pin->m_Parent; if( LibItem == NULL ) break; if( LibItem == NULL ) break; if( Pin->m_PinNum ) if( Pin->m_PinNum ) { { wxString pinnum; wxString pinnum; Loading
todo.txt +8 −0 Original line number Original line Diff line number Diff line Loading @@ -62,3 +62,11 @@ the MARKER is 12 pixels by 12 pixels, but is not resized with zoom, so as zoom changes, the effective real size of the MARKER changes. as zoom changes, the effective real size of the MARKER changes. @todo: compensate for the zoom. right now it is difficult to select marker when zoomed out. @todo: compensate for the zoom. right now it is difficult to select marker when zoomed out. *** cross probing from eeschema to pcbnew is broken: When a pin is selected in eeschema, pcbnew is not asked to find it. The problem was tracked down to this block of code in eeschema/cross-probing.cpp LibItem = (EDA_SchComponentStruct*) Pin->m_Parent; if( LibItem == NULL ) break; apparently the parent of the pin is not being set during library loading.