Commit Graph

764 Commits

Author SHA1 Message Date
Wayne Stambaugh 764df1d107 Fix crash when saving pasted root sheet symbols.
The paste code creates invalid KIID_PATH objects with a zero length.  All
paths must include the root KIID at a minimum.  Code was added to prune
the invalid paths and some defensive code was adding to the formatter to
prevent the crash in case there are other paths where someone generates
a zero length path.

Pruning orphaned instance data does not work when loading schematics prior
to version 7 because the paths did not include the root sheet UUID.  Once
the file is saved to V7 or later, the next load will prune any orphaned or
invalid instance data for the current project.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16245
2023-12-03 08:03:31 -05:00
Wayne Stambaugh 6dc25f4775 Fix broken symbol reference designators on paste special.
It appears that in our zeal to prevent file changes when saving shared
schematics, we (I) clobbered saving relative symbol instance data paths
to the clipboard.  This has be restored along with setting the correct
symbol unit for relative clipboard paths.

Fixed a serious issue with KIID_PATH::MakeRelativeTo() where the original
path was not restored when the incremental KIID object test fails.  This
also included a minor optimization using the actual KIID object for
comparison instead of converting it to a string and then comparing the
string.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15981
2023-12-01 14:18:47 -05:00
Jon Evans f3360a4442 Quote base64 data in DS and schematic 2023-11-29 16:17:41 +00:00
Jon Evans 786a4ce675 Use explicit booleans for schematic format 2023-11-29 16:17:41 +00:00
Jon Evans 7fe863c9d0 Quote UUIDs in schematic format 2023-11-29 16:17:41 +00:00
Jon Evans 4ff127b452 Parse generator_version and improve error output on mismatch
Also bump symbol format version for generator_version
2023-11-29 16:17:41 +00:00
Marek Roszko d1ecf3790c Add generator version 2023-11-29 16:17:41 +00:00
Jon Evans f1f8981395 Automatic whitespace and indentation prettification for sexpr formats 2023-11-29 16:17:41 +00:00
Mike Williams f993e45325 Variables: make consistent across editors
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16180
2023-11-29 09:55:17 -05:00
Jeff Young df83e24eb7 Cleanup.
It's been a long time since line style was specific to plotting.
2023-11-25 13:12:45 +00:00
Alex Shvartzkop 76352234e5 ADDED: Support Altium .IntLib (Integrated Library) in fp/sym library tables. 2023-11-17 07:20:18 +03:00
Jon Evans 44374c661f Database: handle more possible datatype exceptions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16090
2023-11-15 12:27:34 -05:00
Ian McInerney 1900000371 Fix temporary variable type in schematic parser
The internal page info was switched to double in d8be69c3c1
but it was being rounded improperly to int on reading.
2023-11-13 22:52:12 +00:00
Alex Shvartzkop f8095fd31a Optimize CADSTAR library parsing.
-60% loading time.
2023-11-09 17:12:39 +03:00
Alex Shvartzkop b596568ce4 Use utf8. Partially reverts e35174d64b 2023-11-09 02:12:10 +03:00
Alex Shvartzkop e35174d64b Use buffered file io; use fn_str() more. 2023-11-09 01:24:54 +03:00
Alex Shvartzkop 5ccdb75091 Use CheckFileHeader in CADSTAR_SCH_ARCHIVE_PLUGIN::CanReadLibrary 2023-11-09 01:24:54 +03:00
Alex Shvartzkop d016f596f5 Add CADSTAR_SCH_ARCHIVE_PLUGIN::CanReadLibrary 2023-11-08 23:37:38 +03:00
Alex Shvartzkop c048635484 Use v6 code to read arcs from legacy symbols libraries.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16048
2023-11-07 23:10:38 +03:00
Alex Shvartzkop 98d59f99ab EasyEDA Pro: Fix SVG mirrored SVG images in schematic. 2023-11-04 15:21:22 +03:00
jean-pierre charras a6f9174c0c legacy library import: fix compatibility with some old symbol libraries (*.lib files). 2023-11-03 12:48:34 +01:00
Jeff Young 972308b24b Assign textBox to correct unit & conversion.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15994
2023-10-31 23:20:59 +00:00
jean-pierre charras d8be69c3c1 PAGE_INFO: use double instead of int to store the page size.
For historical reasons, they are stored in mils, but using int create rounding
issues when converting to/from mils to IU in dialogs.
This is a minor but annoying issue.
Fixes #16000
https://gitlab.com/kicad/code/kicad/-/issues/16000
2023-10-31 13:47:32 +01:00
Jon Evans 3faf3ea27c Fix ambiguous overload error in gcc 11 2023-10-30 20:59:25 -04:00
Alex Shvartzkop 2aa67ae1af EasyEDA Std: Support image transformations; SVG images in schematic. 2023-10-31 02:21:32 +03:00
Alex Shvartzkop e24c8de4b8 EasyEDA Std: Fix open polygon shapes in symbols. 2023-10-31 02:21:32 +03:00
Alex Shvartzkop f48a248db4 EasyEDA Std: Handle HTML escape characters in text. 2023-10-31 02:21:32 +03:00
Wayne Stambaugh 6183a1e4de Coverity warning fixes. 2023-10-30 09:16:24 -04:00
Jeff Young 1f7ac0834c EEschema currently supports only normal vs bold for text thickness.
https://forum.kicad.info/t/font-width-bug-in-schematic-editor/45871
2023-10-30 12:09:43 +00:00
Alex Shvartzkop 4b083fc342 EasyEDA Pro: support SVG images in schematic; support bitmap rotation/flip. 2023-10-30 11:34:42 +03:00
Alex Shvartzkop 847ab093c8 ADDED: Project chooser dialog for EasyEDA Pro import. 2023-10-30 09:35:27 +03:00
Jeff Young fefb3d96dd Better clarity and memory leak fixes for LTspice importer.
Moves some exception processing to a REPORTER interface so we don't
leak a bunch of memory by exiting early.

Also adds some assertion processing to make sure we're not leaking
in other places.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15158
2023-10-25 00:11:08 +01:00
Alex Shvartzkop ace7cbddfe CADSTAR: look for the symbol library .csa file under different names. 2023-10-15 05:56:38 +03:00
Alex Shvartzkop 77eaf252e2 CADSTAR: use pin labels if pin names are not available. 2023-10-15 05:49:07 +03:00
Alex Shvartzkop a16bdb7288 ADDED: Support EAGLE libraries directly in Symbol Library Table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2214
2023-10-15 01:45:39 +03:00
Alex Shvartzkop b87496b834 Fix loading legacy (until 2009) schematic files. 2023-10-14 15:42:13 +03:00
Alex Shvartzkop 83af481688 Improve EAGLE file header detection. 2023-10-14 15:42:13 +03:00
Wayne Stambaugh 50ec069a01 Fix build warnings. 2023-10-12 10:10:09 -04:00
Alex Shvartzkop f197882f78 Enable translations for "Open cancelled by user." in some sch plugins. 2023-10-06 15:35:58 +03:00
Jeff Young 9f5e583ced Readability. 2023-10-03 17:14:03 +01:00
Marek Roszko bfbba632df Guard GetModificationTime with IsValid otherwise it'll return based on INT64_MIN.
Fixes KICAD-3Z0
2023-10-01 09:43:09 -04:00
Alex Shvartzkop dca964092f EasyEDA Std: import schematic images. 2023-10-01 16:21:31 +03:00
Alex Shvartzkop 979274af7c EasyEDA Std Schematic: import net ports as global labels. 2023-10-01 16:21:28 +03:00
Thomas Pointhuber 7005dd7c48 altium: make special string parsing on pcb a bit more generic
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
2023-10-01 15:10:50 +02:00
Thomas Pointhuber 3b3e4fd34a Move duplicated code of plugin.cpp and sch_plugin.cpp into a new plugin_utils located in commons 2023-10-01 13:58:38 +02:00
jean-pierre charras b227f9de61 Eeschema: fix a crash when loading a schematic if a symbol in a sheet has
a lib_name containing {slash} instead of /
(related to commits #2f51d22b and b2bf28f5)
Fixes #15791
https://gitlab.com/kicad/code/kicad/-/issues/15791
2023-10-01 09:56:22 +02:00
jean-pierre charras b2bf28f559 Eeschema: fix a crash when loading a schematic if a symbol in a sheet has
a lib_id containing {slash} instead of /
(related to commit #2f51d22b)
Fixes #15791
https://gitlab.com/kicad/code/kicad/-/issues/15791
2023-09-30 18:21:18 +02:00
jean-pierre charras 7bc2d69ab7 Fix a typo and a Coverity warning 2023-09-30 18:17:09 +02:00
Jeff Young e1c51ed192 A few performance improvements from profiling.
Most of them are very small; the removal of the Fracture() in
DRC_TEST_PROVIDER_COPPER_CLEARANCE::testZonesToZones() is the only
significant one.
2023-09-29 21:54:59 +01:00
Wayne Stambaugh 2f51d22b3a Fix schematic editor crash when updating symbols.
Some how symbol names that still have escaped '/' character get mixed with
symbol names that have '/' characters now that it is no longer an invalid
LIB_ID character.  This was causing derived symbols to loose the link to
the parent symbol.  This fix replaces any instances of "{slash}" with "/"
to convert symbol names to the proper escaping.

Thanks to JP for the inspiration for the fix.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15715
2023-09-28 14:30:15 -04:00