In some cases, the events may be driven in the same thread, which can
lead to a deadlock. Instead of waiting for the lock, simply refuse to
run if a loading system in in progress.
Fixes https://gitlab.com/kicad/code/kicad/issues/6606
(cherry picked from commit d7a6a2cc71)
When preparing for clearing the tree, GTK requires walking through
parents. After calling "Freeze()" to protect against returning bad data
(see #6458 and #4471), we can no longer access Parent() from GTK and the
tree cannot be cleared.
The fix is to collapse the first element if it is open. This prevents
the common case of the history elements being expanded in the tree
Fixes https://gitlab.com/kicad/code/kicad/issues/6102
(cherry picked from commit 7eea344f91)
Old .sch files do not store the symbol part description (stored in a cache lib)
So when using a .sch file, the part description can be not existing.
The fix tests for non existing part description.
Fixes#6580https://gitlab.com/kicad/code/kicad/issues/6580
This link is needed to ensure appstream-builder finds
the icon for the program and includes it in the appstream
metadata for distribution software centers.
Fixes https://gitlab.com/kicad/code/kicad/issues/6593
- remove outdated code or comment coming from old drawing code using wxDC
- move zoom values lists to zoom_defines.h
- fix incorrect zoom max and min values (gal scaling factor limits).
The canvas keeps a reference to the settings object, so we
can't pass one from the stack because it runs into lifetime
issues.
Also cleanup some loop-iterator problems.
Fixes https://gitlab.com/kicad/code/kicad/issues/6338
There is no CMake target property PRIVATE_INCLUDE_DIRECTORIES, just
INCLUDE_DIRECTORIES (PRIVATE and PUBLIC directories) and
INTERFACE_INCLUDE_DIRECTORIES (PUBLIC and INTERFACE directories).
Building on Linux with -DKICAD_USE_EGL=ON but without a system-wide GLEW
fails without this change.
Saving csv files loses precision when time/data steps are smaller than
10^-6. This switches to engineering notation when dealing with higher
precision.
Ref KiCad Services ticket 281
(cherry picked from commit 938859f10a)
We had some spurious bugs where both ends would get dragged to a
single point (making them disappear). While I never caught it
in the debugger, I'm guessing that the flags weren't getting
cleared properly or were getting overwritten or something. Anyway,
it now uses std::pair instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/6550
Fixes https://gitlab.com/kicad/code/kicad/issues/6431
- new function SCH_SHEET_LIST::SortByPageNumbers() which uses SCH_SHEET::ComparePageNum for the sorting algorithm
- SortByPageNumbers() is called after every call to BuildSheetList()
- update hierarchy navigator after any modifications to the SCH_EDIT_FRAME
- do not generate ghost selection events after updating hierarchy tree
- use Human Readable path in SCH_EDIT_TOOL::EditPageNumber
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5760