Pcbnew, APPEARANCE_CONTROLS: do not change objects visibility, when changing

layers visibility using Preset layers widget.
Fixes #13381
https://gitlab.com/kicad/code/kicad/issues/13381
This commit is contained in:
jean-pierre charras 2023-03-24 14:06:26 +01:00
parent 8ea357f04d
commit 2e2cbb0594
1 changed files with 7 additions and 2 deletions

View File

@ -2,7 +2,7 @@
* This program source code file is part of KiCad, a free EDA CAD application. * This program source code file is part of KiCad, a free EDA CAD application.
* *
* Copyright (C) 2020 Jon Evans <jon@craftyjon.com> * Copyright (C) 2020 Jon Evans <jon@craftyjon.com>
* Copyright (C) 2021-2022 KiCad Developers, see AUTHORS.txt for contributors. * Copyright (C) 2021-2023 KiCad Developers, see AUTHORS.txt for contributors.
* *
* This program is free software: you can redistribute it and/or modify it * This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the * under the terms of the GNU General Public License as published by the
@ -2697,7 +2697,12 @@ void APPEARANCE_CONTROLS::onLayerPresetChanged( wxCommandEvent& aEvent )
m_lastSelectedUserPreset = ( !preset || preset->readOnly ) ? nullptr : preset; m_lastSelectedUserPreset = ( !preset || preset->readOnly ) ? nullptr : preset;
if( preset ) if( preset )
doApplyLayerPreset( *preset ); {
// Change board layers visibility, but do not change objects visibility
LAYER_PRESET curr_layers_choice = *preset;
curr_layers_choice.renderLayers = getVisibleObjects();
doApplyLayerPreset( curr_layers_choice );
}
if( !m_currentPreset->name.IsEmpty() ) if( !m_currentPreset->name.IsEmpty() )
{ {