Fixed SetCurrentContext() assert, that was firing on closure of pcbnew, when the OpenGL backend was active.
This commit is contained in:
parent
7985a4b16b
commit
0e7db24049
|
@ -184,6 +184,13 @@ void EDA_DRAW_PANEL_GAL::Refresh( bool eraseBackground, const wxRect* rect )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EDA_DRAW_PANEL_GAL::StopDrawing()
|
||||||
|
{
|
||||||
|
Disconnect( wxEVT_PAINT, wxPaintEventHandler( EDA_DRAW_PANEL_GAL::onPaint ), NULL, this );
|
||||||
|
m_refreshTimer.Stop();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void EDA_DRAW_PANEL_GAL::SwitchBackend( GalType aGalType )
|
void EDA_DRAW_PANEL_GAL::SwitchBackend( GalType aGalType )
|
||||||
{
|
{
|
||||||
// Protect from refreshing during backend switch
|
// Protect from refreshing during backend switch
|
||||||
|
|
|
@ -111,6 +111,12 @@ public:
|
||||||
m_eventDispatcher = aEventDispatcher;
|
m_eventDispatcher = aEventDispatcher;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function StopDrawing()
|
||||||
|
* Prevents the GAL canvas from further drawing till it is recreated.
|
||||||
|
*/
|
||||||
|
void StopDrawing();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void onPaint( wxPaintEvent& WXUNUSED( aEvent ) );
|
void onPaint( wxPaintEvent& WXUNUSED( aEvent ) );
|
||||||
void onSize( wxSizeEvent& aEvent );
|
void onSize( wxSizeEvent& aEvent );
|
||||||
|
|
|
@ -556,6 +556,7 @@ void PCB_EDIT_FRAME::OnQuit( wxCommandEvent& event )
|
||||||
void PCB_EDIT_FRAME::OnCloseWindow( wxCloseEvent& Event )
|
void PCB_EDIT_FRAME::OnCloseWindow( wxCloseEvent& Event )
|
||||||
{
|
{
|
||||||
m_canvas->SetAbortRequest( true );
|
m_canvas->SetAbortRequest( true );
|
||||||
|
m_galCanvas->StopDrawing();
|
||||||
|
|
||||||
if( GetScreen()->IsModify() )
|
if( GetScreen()->IsModify() )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue