Fixed the Module viewer crash when there is no footprint loaded.

This commit is contained in:
Maciej Suminski 2014-07-09 16:57:01 +02:00
parent 78853febbe
commit 14cfd173e6
2 changed files with 9 additions and 4 deletions

View File

@ -55,6 +55,9 @@ void CAIRO_COMPOSITOR::Resize( unsigned int aWidth, unsigned int aHeight )
{
clean();
assert( m_width > 0 );
assert( m_height > 0 );
m_width = aWidth;
m_height = aHeight;

View File

@ -168,11 +168,11 @@ FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME( KIWAY* aKiway, wxWindow* aParent
ReCreateLibraryList();
UpdateTitle();
EDA_DRAW_FRAME* drawFrame = static_cast<EDA_DRAW_FRAME*>( aParent );
PCB_BASE_FRAME* parentFrame = static_cast<PCB_BASE_FRAME*>( Kiway().Player( FRAME_PCB, true ) );
// Create GAL canvas
PCB_DRAW_PANEL_GAL* drawPanel = new PCB_DRAW_PANEL_GAL( this, -1, wxPoint( 0, 0 ), m_FrameSize,
drawFrame->GetGalCanvas()->GetBackend() );
parentFrame->GetGalCanvas()->GetBackend() );
SetGalCanvas( drawPanel );
// Create the manager and dispatcher & route draw panel events to the dispatcher
@ -193,9 +193,11 @@ FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME( KIWAY* aKiway, wxWindow* aParent
id.SetLibNickname( getCurNickname() );
id.SetFootprintName( getCurFootprintName() );
GetBoard()->Add( loadFootprint( id ) );
drawPanel->DisplayBoard( m_Pcb );
}
drawPanel->DisplayBoard( m_Pcb );
updateView();
if( m_canvas )
m_canvas->SetAcceleratorTable( table );
@ -273,7 +275,7 @@ FOOTPRINT_VIEWER_FRAME::FOOTPRINT_VIEWER_FRAME( KIWAY* aKiway, wxWindow* aParent
Show( true );
UseGalCanvas( drawFrame->IsGalCanvasActive() );
UseGalCanvas( parentFrame->IsGalCanvasActive() );
}