Prevent command line applications handling dark mode

Double-check before getting background color from invalid m_parent also

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21317

(cherry picked from commit 9cb3a37b6f97b58fc1b29411bdc5a55d34603aee)
This commit is contained in:
Seth Hillbrand 2025-07-14 20:09:17 -07:00
parent 541a727e15
commit a4e95c500f
2 changed files with 5 additions and 1 deletions

View File

@ -116,7 +116,7 @@ void GRID_CELL_COLOR_RENDERER::Draw( wxGrid& aGrid, wxGridCellAttr& aAttr, wxDC&
void GRID_CELL_COLOR_RENDERER::OnDarkModeToggle()
{
m_checkerboardBg = m_parent->GetBackgroundColour();
m_checkerboardBg = m_parent ? m_parent->GetBackgroundColour() : wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOW );
}

View File

@ -60,6 +60,10 @@ PCB_BASE_EDIT_FRAME::PCB_BASE_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent,
{
m_darkMode = KIPLATFORM::UI::IsDarkTheme();
// Do not register the idle event handler if we are running in headless mode.
if( !wxApp::GetGUIInstance() )
return;
Bind( wxEVT_IDLE,
[this]( wxIdleEvent& aEvent )
{