From b36312ff2424c170bbf21b660876ce090b22eb0e Mon Sep 17 00:00:00 2001 From: Jon Evans Date: Sun, 7 Apr 2024 08:20:01 -0400 Subject: [PATCH] Disable lazy-loading of 3D models on macOS Fixes https://gitlab.com/kicad/code/kicad/-/issues/17198 --- 3d-viewer/3d_rendering/opengl/create_scene.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/3d-viewer/3d_rendering/opengl/create_scene.cpp b/3d-viewer/3d_rendering/opengl/create_scene.cpp index 687e8d4ab7..6901bf8c26 100644 --- a/3d-viewer/3d_rendering/opengl/create_scene.cpp +++ b/3d-viewer/3d_rendering/opengl/create_scene.cpp @@ -917,6 +917,10 @@ void RENDER_3D_OPENGL::load3dModels( REPORTER* aStatusReporter ) if( !m_boardAdapter.GetBoard() ) return; + // Building the 3D models late crashes on recent versions of macOS + // Unclear the exact mechanism, but as a workaround, just build them + // all the time. See https://gitlab.com/kicad/code/kicad/-/issues/17198 +#ifndef __WXMAC__ if( !m_boardAdapter.m_IsPreviewer && !m_boardAdapter.m_Cfg->m_Render.show_footprints_normal && !m_boardAdapter.m_Cfg->m_Render.show_footprints_insert @@ -924,6 +928,7 @@ void RENDER_3D_OPENGL::load3dModels( REPORTER* aStatusReporter ) { return; } +#endif // Go for all footprints for( const FOOTPRINT* footprint : m_boardAdapter.GetBoard()->Footprints() )