kicad/pcbnew/router
Steve Bollinger 1020cdd7a6 pcbnew: switching track posture may not work on first attempt
If you drag a track out and connect to a pad then press the hotkey
to switch the track posture it may not switch because the track
posture selected when the pad was reached is different than the one
that the mouse trail placer drew. As the aspect switching is done
in the mouse trail placer it does not know that the line placer
already override the track.

To correct this, in LINE_PLACER::FlipPosture() if the aspect is not
currently manually forced then copy the current aspect from the
line placer to m_mouseTrailPlacer before calling the FlipPosture()
method of m_mouseTrailPlacer. This will only be done once per
dragging session as once the aspect is manually forced it remains
manually forced. This seems to fix the issue with no undesirable
side effects.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12369
(cherry picked from commit 85f4f0d6c8)
2023-05-11 16:36:21 -07:00
..
CMakeLists.txt router: further changes to the ownership model 2023-04-14 00:10:01 +01:00
length_tuner_tool.cpp
length_tuner_tool.h
pns_algo_base.cpp
pns_algo_base.h
pns_arc.cpp
pns_arc.h
pns_component_dragger.cpp Fix a typo. 2023-05-08 03:32:32 +03:00
pns_component_dragger.h router: When dragging tracks, don't snap to parts of the original line. 2023-01-27 11:06:36 +03:00
pns_debug_decorator.h
pns_diff_pair.cpp Don't call BuildInitialTrace() for entry gateways. 2023-05-04 11:52:02 +01:00
pns_diff_pair.h Don't steal an existing via's hole. 2023-04-14 10:09:03 +01:00
pns_diff_pair_placer.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_diff_pair_placer.h
pns_dp_meander_placer.cpp router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
pns_dp_meander_placer.h
pns_drag_algo.h router: When dragging tracks, don't snap to parts of the original line. 2023-01-27 11:06:36 +03:00
pns_dragger.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_dragger.h router: Remove extra qualification. 2023-01-27 11:56:23 +03:00
pns_hole.cpp Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_hole.h Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_index.cpp
pns_index.h
pns_item.cpp PNS: make sure context options are used in collideSimple 2023-05-11 20:48:56 +00:00
pns_item.h Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_itemset.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_itemset.h router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_joint.h Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_kicad_iface.cpp Commenting and formatting. 2023-05-02 14:14:05 +01:00
pns_kicad_iface.h Fix PNS_KICAD_IFACE_BASE::IsFlashedOnLayer() to be able to handle multi-layer queries. 2023-04-14 10:59:10 +01:00
pns_layerset.h
pns_line.cpp Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_line.h router: further changes to the ownership model 2023-04-14 00:10:01 +01:00
pns_line_placer.cpp pcbnew: switching track posture may not work on first attempt 2023-05-11 16:36:21 -07:00
pns_line_placer.h
pns_link_holder.h
pns_linked_item.h
pns_logger.cpp Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
pns_logger.h Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
pns_meander.cpp router: Fix clamp in meander corner radius calculation. 2023-02-05 07:22:38 +03:00
pns_meander.h
pns_meander_placer.cpp router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
pns_meander_placer.h
pns_meander_placer_base.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_meander_placer_base.h
pns_meander_skew_placer.cpp router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
pns_meander_skew_placer.h
pns_mouse_trail_tracer.cpp router: trying to improve the 'guess posture' algorithm to work well with both fix-all and fix-last-segment on click 2023-01-12 23:37:07 +01:00
pns_mouse_trail_tracer.h
pns_node.cpp PNS: Remove holes when removing items with holes 2023-05-08 02:48:55 +00:00
pns_node.h Add PNS::ITEM::BoardItem() call. 2023-04-14 10:09:03 +01:00
pns_optimizer.cpp Cleanup printf bits 2023-05-07 19:02:02 +03:00
pns_optimizer.h
pns_placement_algo.h
pns_router.cpp Add PNS::ITEM::BoardItem() call. 2023-04-14 10:09:03 +01:00
pns_router.h Fix PNS_KICAD_IFACE_BASE::IsFlashedOnLayer() to be able to handle multi-layer queries. 2023-04-14 10:59:10 +01:00
pns_routing_settings.cpp
pns_routing_settings.h
pns_segment.h
pns_shove.cpp PNS: Don't use clearance epsilon for calculating shove distances 2023-05-11 20:48:46 +00:00
pns_shove.h router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_sizes_settings.cpp
pns_sizes_settings.h Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
pns_solid.cpp Cleanup printf bits 2023-05-07 19:02:02 +03:00
pns_solid.h Holes need a parent. 2023-05-08 14:51:47 +01:00
pns_tool_base.cpp Ease acquisition of a target item. 2023-04-09 23:13:44 +01:00
pns_tool_base.h
pns_topology.cpp router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_topology.h router: rework ITEM ownership model. 2023-04-14 00:09:49 +01:00
pns_tune_status_popup.cpp
pns_tune_status_popup.h
pns_utils.cpp router: hole as first class objects, wip 2023-04-14 00:09:56 +01:00
pns_utils.h router: hole as first class objects, wip 2023-04-14 00:09:56 +01:00
pns_via.cpp Use Net() accessor uniformly; init hole parent in VIA::Clone() 2023-04-28 18:33:27 +01:00
pns_via.h Tighten ownership model of PNS::ITEM. 2023-04-28 11:03:24 +01:00
pns_walkaround.cpp router: hole as first class objects, wip 2023-04-14 00:09:56 +01:00
pns_walkaround.h
range.h
ranged_num.h
router_preview_item.cpp Add PNS::ITEM::BoardItem() call. 2023-04-14 10:09:03 +01:00
router_preview_item.h router: Re-add electrical path lines drawing for length tuning. 2023-02-01 20:36:52 +03:00
router_tool.cpp Fix diff pair router checking of min clearance 2023-01-31 19:53:35 -05:00
router_tool.h
time_limit.cpp
time_limit.h