Otherwise (aside from not colliding with their dragged location) we
won't update their locations and then if they happen to be the first
pad in the footprint we'll try to update the footprint's location post-
drag with the pad offset (which will be {0,0}.
This is easily reproducible with the test document in the bug in the
"fixes" statement.
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
Some tools move only preview items while keeping the real items
hidden. Those tools must use this new offset parameter.
Other tools move the real items. Those tools can ignore this
parameter (which will default to {0,0}).
Fixes https://gitlab.com/kicad/code/kicad/issues/9391
CHANGED: Removed "ForcedCursorPosition()" and "IsCursorPositionForced()"
from view_controls.h. First, these functions are completely redundant
as they do the exact same thing but have different names. Second,
neither is called anywhere in the entire KiCad code base.
There doesn't appear to be any reason why the LIBID needs to be populated
before a "save as", seeing as the user will be inputting the new lib name
and lib nickname via the dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9744
The pad comparison function was never updated when chamfered rectangular
and custom pads were added so if more that one variant of either of those
pad types existed in a design, only the first one would get generated and
assign to every pad of that type.
The custom pad primitive comparison has not be implemented so the exported
designs may be broken for custom pads.
Adds "UpdatePreferences" action that is called when the preferences are
updated, allowing running tools to act on changes that may affect them
Fixes https://gitlab.com/kicad/code/kicad/issues/9737
We currently only need this to work for vias as we're a long way
from being able to support it for pads, so just check the hole
shape.
Fixes https://gitlab.com/kicad/code/kicad/issues/9735
We cannot resolve the Canvas type without the canvas being initialized.
But saving settings sometimes requests canvas access. This protects the
calls against failure by checking for canvas before saving
canvas-specific settings
Fixes https://gitlab.com/kicad/code/kicad/issues/9729
It seems to be completely preventing optimization instead of preventing over-optimization in case the head is a dragged via.
To be investigated in more details in V7.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8665