Commit 6312f838 authored by jean-pierre charras's avatar jean-pierre charras

Temporary fix a crash I created in rev 5427, when erasing all modules on a...

Temporary fix a crash I created in rev 5427, when erasing all modules on a board and read the netlist. Will be fully fixed later.
Very minor fixes: remove duplicate #define in vrml_v2_modelparser.cpp, and "undo" a very minor change I made in class_board.cpp when I tried to fix a Pcbnew crash.
parent f4d5e349
...@@ -87,9 +87,6 @@ void VRML2_MODEL_PARSER::Load( const wxString& aFilename, double aVrmlunits_to_3 ...@@ -87,9 +87,6 @@ void VRML2_MODEL_PARSER::Load( const wxString& aFilename, double aVrmlunits_to_3
glm::vec3 matPos( GetMaster()->m_MatPosition.x, GetMaster()->m_MatPosition.y, glm::vec3 matPos( GetMaster()->m_MatPosition.x, GetMaster()->m_MatPosition.y,
GetMaster()->m_MatPosition.z ); GetMaster()->m_MatPosition.z );
#define SCALE_3D_CONV ( (IU_PER_MILS * 1000.0f) / UNITS3D_TO_UNITSPCB )
glTranslatef( matPos.x * SCALE_3D_CONV, matPos.y * SCALE_3D_CONV, matPos.z * SCALE_3D_CONV ); glTranslatef( matPos.x * SCALE_3D_CONV, matPos.y * SCALE_3D_CONV, matPos.z * SCALE_3D_CONV );
glRotatef( -matRot.z, 0.0f, 0.0f, 1.0f ); glRotatef( -matRot.z, 0.0f, 0.0f, 1.0f );
......
...@@ -2204,7 +2204,6 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets, ...@@ -2204,7 +2204,6 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
wxString msg; wxString msg;
D_PAD* pad; D_PAD* pad;
MODULE* footprint; MODULE* footprint;
COMPONENT_NET net;
if( !IsEmpty() ) if( !IsEmpty() )
{ {
...@@ -2400,11 +2399,11 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets, ...@@ -2400,11 +2399,11 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
// At this point, the component footprint is updated. Now update the nets. // At this point, the component footprint is updated. Now update the nets.
for( pad = footprint->Pads(); pad; pad = pad->Next() ) for( pad = footprint->Pads(); pad; pad = pad->Next() )
{ {
net = component->GetNet( pad->GetPadName() ); COMPONENT_NET net = component->GetNet( pad->GetPadName() );
if( !net.IsValid() ) // Footprint pad had no net. if( !net.IsValid() ) // Footprint pad had no net.
{ {
if( aReporter && aReporter->ReportAll() ) if( aReporter && aReporter->ReportAll() && !pad->GetNetname().IsEmpty() )
{ {
msg.Printf( _( "Clearing component \"%s:%s\" pin \"%s\" net name.\n" ), msg.Printf( _( "Clearing component \"%s:%s\" pin \"%s\" net name.\n" ),
GetChars( footprint->GetReference() ), GetChars( footprint->GetReference() ),
...@@ -2581,7 +2580,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets, ...@@ -2581,7 +2580,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, bool aDeleteSinglePadNets,
// Explore all pins/pads in component // Explore all pins/pads in component
for( unsigned jj = 0; jj < component->GetNetCount(); jj++ ) for( unsigned jj = 0; jj < component->GetNetCount(); jj++ )
{ {
net = component->GetNet( jj ); COMPONENT_NET net = component->GetNet( jj );
padname = net.GetPinName(); padname = net.GetPinName();
if( footprint->FindPadByName( padname ) ) if( footprint->FindPadByName( padname ) )
......
...@@ -333,9 +333,11 @@ MODULE* PCB_BASE_FRAME::loadFootprint( const FPID& aFootprintId ) ...@@ -333,9 +333,11 @@ MODULE* PCB_BASE_FRAME::loadFootprint( const FPID& aFootprintId )
MODULE* module = fptbl->FootprintLoadWithOptionalNickname( aFootprintId ); MODULE* module = fptbl->FootprintLoadWithOptionalNickname( aFootprintId );
// Clear all references to any net info, to be sure there is no broken links // Clear all references to any net info, to be sure there is no broken links
// to any netinfo list (This should be the case, but...) // to any netinfo list (should be not needed, but...)
#if 0 // FIXME : currently crashes Pcbnew. should not.
for( D_PAD* pad = module->Pads(); pad; pad = pad->Next() ) for( D_PAD* pad = module->Pads(); pad; pad = pad->Next() )
pad->SetNetCode( NETINFO_LIST::FORCE_ORPHANED ); pad->SetNetCode( NETINFO_LIST::FORCE_ORPHANED );
#endif
return module; return module;
} }
......
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