We need to be careful in the connectivity system to always use
dyn_cast/dynamic_cast and check the return when dealing with board
items. Getting non-connected items will result in null nets when
propagated.
Fixes https://gitlab.com/kicad/code/kicad/issues/5082
(cherry picked from commit 406de56964)
Apparently the < operator was never implemented for SCH_JUNCTION objects
so they were not get sorted which was causing the large diffs between
schematic saves.
Fixes https://gitlab.com/kicad/code/kicad/issues/4370
(cherry picked from commit 35f3eb6220)
The old way of checking for focus loss caused GTK to be unable to
even open the combobox. This way checks for the event sent when the
list closes and uses that to close the grid editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/4617
(Cherry-picked from af24a5d5a7)
The config.h header for ngspice is not packaged with all platforms so
use pkg-config to fetch the version information when available. When
pkg-config is not available, check if the ngspice/config.h file is
installed on the system before including it to build the ngspice version
string. If neither pkg-config or ngspice/config.h is available set the
version string to "unknown".
Fixes https://gitlab.com/kicad/code/kicad/issues/4851
When drawing segments that are smaller than the segment width, OpenGL
did not use realistic values, leading to hidden, small tracks. Instead,
we set the track to only draw a segment when the length is at least 1
radius long (so that we can see the full semi-circle at the track end)
Fixes https://gitlab.com/kicad/code/kicad/issues/5009
(cherry picked from commit 294dabf640)
We output a 0 opacity text in the SVG plotter to allow searching. When
this text is changed to 100 opacity, it can show up on the user screen
and so needs to be mirrored to match the stroke font output
Fixes https://gitlab.com/kicad/code/kicad/issues/5001
(cherry picked from commit b650e4568b)
Some buggy SVG interpreters can't handle 0-length ovals. In this case,
they are meant to be circles, so we can export as circles in our
plotter.
Fixes https://gitlab.com/kicad/code/kicad/issues/3995
(cherry picked from commit e38ab6c699)
- Clear object attributes before and after plotting a zone.
It avoid using previously defined object attributes when plotting the next
zone, and using therefore incorrect attributes.
- Add aperture attribute to filled zone solid polygons (regions in Gerber)
From master branch
Depending on where you move the selection, the slow ratsnest might turn
on. This prevents that setting from being sticky, reverting to smooth
movement.
(cherry picked from commit a893d19d26)
Fixes https://gitlab.com/kicad/code/kicad/issues/1909
merging pad shapes when the min width mask is not 0.
Keeping pad shapes clearly identified in Gerber files is mandatory,
so the initial algo that merged shapes in some cases was not good
from this point of view.
This is a patch that has been carried in the kicad-mac-builder
repository that is being upstreamed into the main codebase.
(cherry-picked from 0bfe4130f5)
Due to rounding issues, sometimes (especially for rotated pads)
the region (4 segments+4 arcs) was incorrectly closed
1 unit (nanometer) mismatch between start point and end point.
Although it does not create bad shape, its breaks the round rect pad
identification in CAM tools. start point and end point are now the same.
From master.
both Ucamco and Eurocircuits.
Update message in plot dialog about best solder mask clearance value.
Show a warning message in plot dialog if these values are no 0.
From master branch.
recreate comboboxes when clearing toolbars. Clearing toolbars delete only
tools, not other widgets. recreating comboboxes creates strange cosmetic issues.
From master, commit 598ed8b39.
Taken from downstream Fedora commit.
Original author info:
Charalampos Stratakis <cstratak@redhat.com> 2020-05-28 12:26:59
Downstream commit: a2677c159ad529
(cherry-picked from 7fd661f06b)