Eeschema: Check twice before using GAL
The windows display may through an error which we need to catch when
starting GAL under windows. This is a reimplementation of
e39586e15
which cannot be cherry-picked into v5
Fixes #2620 | https://gitlab.com/kicad/code/kicad/issues/2620
This commit is contained in:
parent
dbfaf568fc
commit
65008c5c0b
|
@ -23,10 +23,11 @@
|
||||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <functional>
|
||||||
#include <view/wx_view_controls.h>
|
#include <view/wx_view_controls.h>
|
||||||
#include <worksheet_viewitem.h>
|
#include <worksheet_viewitem.h>
|
||||||
|
|
||||||
|
#include <confirm.h>
|
||||||
#include <gal/graphics_abstraction_layer.h>
|
#include <gal/graphics_abstraction_layer.h>
|
||||||
#include <sch_draw_panel.h>
|
#include <sch_draw_panel.h>
|
||||||
#include <sch_view.h>
|
#include <sch_view.h>
|
||||||
|
@ -34,8 +35,6 @@
|
||||||
#include <sch_edit_frame.h>
|
#include <sch_edit_frame.h>
|
||||||
#include <preview_items/selection_area.h>
|
#include <preview_items/selection_area.h>
|
||||||
|
|
||||||
#include <functional>
|
|
||||||
|
|
||||||
#include <sch_sheet.h>
|
#include <sch_sheet.h>
|
||||||
#include <pgm_base.h>
|
#include <pgm_base.h>
|
||||||
|
|
||||||
|
@ -174,7 +173,19 @@ void SCH_DRAW_PANEL::DisplaySheet( const SCH_SCREEN *aScreen )
|
||||||
|
|
||||||
void SCH_DRAW_PANEL::OnShow()
|
void SCH_DRAW_PANEL::OnShow()
|
||||||
{
|
{
|
||||||
//m_view->RecacheAllItems();
|
SCH_BASE_FRAME* frame = dynamic_cast<SCH_BASE_FRAME*>( GetParent() );
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Check if the current rendering backend can be properly initialized
|
||||||
|
m_view->UpdateItems();
|
||||||
|
}
|
||||||
|
catch( const std::runtime_error& e )
|
||||||
|
{
|
||||||
|
// Fallback to software renderer
|
||||||
|
DisplayInfoMessage( frame, e.what() );
|
||||||
|
SwitchBackend( GAL_TYPE_CAIRO );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue