Browse Source

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 9cb3a37b6f)
9.0
Seth Hillbrand 3 months ago
parent
commit
a4e95c500f
  1. 2
      common/widgets/grid_color_swatch_helpers.cpp
  2. 4
      pcbnew/pcb_base_edit_frame.cpp

2
common/widgets/grid_color_swatch_helpers.cpp

@ -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 );
}

4
pcbnew/pcb_base_edit_frame.cpp

@ -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 )
{

Loading…
Cancel
Save