mirror of
https://gitlab.com/kicad/code/kicad.git
synced 2025-02-22 20:42:53 +00:00
F_Cu | B_Cu is not the same as LSET( F_Cu ) | LSET( B_Cu), so you cannot do some_lset |= F_Cu | B_Cu (or rather you can, but it is not what you expect). F_Cu and B_Cu are just ints, so 0 | 2 == 2. This isn't the same as setting *bit indices* 0 and 2. OR-ing with 2 is setting bit index 1, which is F_Mask. You can set them one by one with lset.set( F_Cu ) or OR with LSET::ExternalCuMask() helper. But actually, we're trying to set all 'n' copper layers, and LSET has AllCuMask and we can save all the hassle in this function. Thanks to @aris-kimi for finding the problematic code lines and providing the foundation of this fix. Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19855 |
||
---|---|---|
.. | ||
board_stackup_reporter.cpp | ||
board_stackup_reporter.h | ||
board_stackup.cpp | ||
board_stackup.h | ||
dialog_dielectric_list_manager_base.cpp | ||
dialog_dielectric_list_manager_base.fbp | ||
dialog_dielectric_list_manager_base.h | ||
dialog_dielectric_list_manager.cpp | ||
dialog_dielectric_list_manager.h | ||
dielectric_material.cpp | ||
dielectric_material.h | ||
panel_board_finish_base.cpp | ||
panel_board_finish_base.fbp | ||
panel_board_finish_base.h | ||
panel_board_finish.cpp | ||
panel_board_finish.h | ||
panel_board_stackup_base.cpp | ||
panel_board_stackup_base.fbp | ||
panel_board_stackup_base.h | ||
panel_board_stackup.cpp | ||
panel_board_stackup.h | ||
stackup_predefined_prms.cpp | ||
stackup_predefined_prms.h |