Seth Hillbrand
6b43bb8fe3
Fix crash in incremental update and bus conn
...
We store our connectivity dirty flag with the SCH_ITEM but we generate
SCH_CONNECTION based on the SCH_ITEM and the SCH_SHEET_PATH. For this
reason, we need to avoid clearing the connectivity dirty flag until
we've finished processing all instances of the SCH_ITEM in the graph
This also means that we need to allow getting the SCH_CONNECTION pointer
even when the connectivity is still dirty (getting SCH_CONNECTION
happens based on SCH_ITEM and SCH_SHEET_PATH, not just SCH_ITEM)
(cherry picked from commit 7d12e1c4f5
)
2023-09-19 16:07:40 -07:00
Seth Hillbrand
0faad370f9
Fix some stale pointers in incremental updates
...
Shared pointers contained stale references to the temporary graph. When
merging, we need to ensure all references are updated to the final graph
(cherry picked from commit b52c43b933
)
2023-09-18 21:27:22 -07:00
Seth Hillbrand
23fab89131
Properly handle incremental bus connections
...
- Incremental extraction needs the newly created items. The modified
items are already set in the connection graph but the newly created
items don't exist yet, so we need to add those explicitly
- Bus parents need to ensure that the bus children exist because we
iterate on the updates from the top of the graph down
(cherry picked from commit 9fc45eb08c
)
2023-09-18 21:26:58 -07:00
jean-pierre charras
48189172ea
Eeschema: fix crash if using ${FOOTPRINT_NAME} or ${FOOTPRINT_LIBRARY} as values
...
in fields, if no footprint defined for the symbol.
From master branch
Fixes #15676
https://gitlab.com/kicad/code/kicad/-/issues/15676
2023-09-18 09:33:25 +02:00
Seth Hillbrand
ee343e1263
Fix crash when duplicating symbol
...
Adding symbol to the screen can change the library reference. But when
we are pasting, we want the library reference for annotation, so we need
to keep a map of old->new libsymbols and fixup the pasted symbols before
using
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15419
2023-09-15 15:43:50 -07:00
Seth Hillbrand
57ef739404
Fix connectivity regression
...
We have a break somewhere in the connectivity that doesn't fully process
connections but the current code seems to catch these by forcing a
top-down & bottom-up calculation
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14818
2023-09-13 12:31:46 -07:00
Seth Hillbrand
584eb9f531
Remove extra nag/grid assertion
...
When editing the properties, if you accidentally make an extra line, you
should be able to remove the data and have it ignored.
2023-09-13 12:31:46 -07:00
Alex Shvartzkop
951fd2d693
Altium schematic: support Line dash styles and colors.
...
Master commit: a2b7bf97b9
2023-09-11 18:33:34 +03:00
Alex Shvartzkop
be991cfcd6
Clear view before resetting schematic.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15159
(cherry picked from commit cab0db76f8
)
2023-09-11 18:28:05 +03:00
Alex Shvartzkop
3cd6935acb
Work around wxGTK printing offset in eeschema.
...
Affects landscape Letter, Legal, A4 paper.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1907
(cherry picked from commit 5da4dfd4a7
)
2023-09-11 14:37:39 +03:00
Alex Shvartzkop
6daef080e3
Altium schematic: fix ISSOLID flag for text frames.
...
Fixed in master by 24d3df5416
2023-09-11 14:23:54 +03:00
Alex Shvartzkop
6ee909b958
Altium schematic: support custom sheet sizes.
...
(cherry picked from commit 16062bbe33
)
2023-09-11 10:06:38 +03:00
Seth Hillbrand
96a3621b8e
Update TestDanglingEnds to O(n) speed
...
The elements don't care which they connect to, so don't search for
points on the page, just collect them all and then test them all
Adjusts f3dd5b73
(cherry picked from commit c2fd2f42eb
)
2023-09-07 01:37:42 +02:00
Jeff Young
14d4c38979
Honour override-individual-item-colors setting for filled shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15572
(cherry picked from commit d593257fbd
)
2023-09-06 16:31:22 +01:00
Alex Shvartzkop
30c2028852
Revert "Set reporter in DIALOG_SIM_MODEL::TransferDataToWindow."
...
This reverts commit 5b0d752e0c
.
2023-09-06 08:03:00 +03:00
Marek Roszko
95e6be0e81
Prevent crash trying to load missing spice lib
...
(cherry picked from commit 4fe7c7a902
)
2023-09-06 01:13:54 +00:00
Marek Roszko
32c2135047
Flip the RegisterSettings order to avoid legacy import crashes
2023-09-04 23:22:39 -04:00
Marek Roszko
702e08b083
Don't call .Load() and cause settings to reload from disk
...
RegisterSettings can load the new settings json as added by not turning off the load now parameter
2023-09-04 22:41:12 -04:00
Jeff Young
5c456370d9
Add items to repeat_items after paste (or duplicate).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15556
(cherry picked from commit f6e238dc3f
)
2023-09-03 22:10:38 +01:00
Jeff Young
93fdd35b31
Support SHORT_NET_NAME(pin_number) and friends on symbols.
...
While it's of debatable use in the schematic, some users want to
author them there so that they're then copied onto the board.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15544
(cherry picked from commit d74e9ba040
)
2023-09-03 22:07:11 +01:00
Jeff Young
70d5fccb54
{slash}-to-/ comparison special-cases need to run both ways.
...
(The library may be legacy format, or the document may be.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15540
(cherry picked from commit 86f96d544b
)
2023-09-03 22:05:58 +01:00
Jeff Young
6ca7c3a3a1
Fix merge errors.
2023-09-02 11:18:34 +01:00
Jeff Young
1fee2c626b
Save ERC settings (including exclusions) when saving file.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15274
(cherry picked from commit 10ed1d1a7f
)
2023-09-02 11:18:34 +01:00
Jeff Young
c8e49599ce
Use STD_BITMAP_BUTTON for change symbols dialog.
...
(cherry picked from commit f3f57f77d9
)
2023-09-02 11:18:34 +01:00
Jeff Young
351cb7e104
Re-run autoplacement after symbol replacement (when appropriate).
...
Also prevents an internal wxWidgets assert by clearing grid
selection before deleting rows.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15541
(cherry picked from commit 377ffb00b0
)
2023-09-02 11:18:34 +01:00
Jeff Young
9bcb6f0adf
Don't count pins of both De Morgan variants when matching to footprint pads.
...
(And remove un unused variable from grid settings dialog.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15550
(cherry picked from commit cb003d8ab4
)
2023-08-31 12:37:44 +01:00
Jeff Young
75daa1afec
Don't presume all cached glyphs are outline glyphs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15508
(cherry picked from commit 949458bbe1
)
2023-08-31 12:37:44 +01:00
jean-pierre charras
f9b59b4fdf
PANEL_SETUP_SEVERITIES: fix a missing init (m_severitiesPage) creating a crash.
...
PANEL_SETUP_SEVERITIES::ImportSettingsFrom(): ensure the option to set
actually exists before setting it.
2023-08-29 10:56:40 +02:00
Seth Hillbrand
76a3b3db97
Better handle many (MANY) duplicate refs
...
In large designs with thousands of duplicate elements (e.g. power
symbols), we need to be smart about vector management. Removing all but
the first few items should be batched and not element at a time
Ref: KSC-885
(cherry picked from commit b43f037a91
)
2023-08-28 17:08:42 -07:00
Seth Hillbrand
4b0416e92a
Simplify logic when setting field vector
...
Previous logic could get stuck in infinite loop if removing element from
the middle of the vector
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15498
(cherry picked from commit 9636321c09
)
2023-08-28 15:29:19 -07:00
Jeff Young
2764f292cb
Don't store address of temp object.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15517
2023-08-27 19:02:57 +01:00
Wayne Stambaugh
aae7d94ffd
Remove duplicate references from change symbol dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15480
(cherry picked from commit 1db9febcfe
)
2023-08-25 14:28:13 -04:00
Alex Shvartzkop
5b0d752e0c
Set reporter in DIALOG_SIM_MODEL::TransferDataToWindow.
...
It could've been set to point to local variable "reporter" in loadLibrary.
Fixes KICAD-15C
(cherry picked from commit 26f398a4b1
)
2023-08-25 21:09:28 +03:00
Jeff Young
00226ae40a
Honour aAllowExtraText flag in LIB_FIELD::GetShownText().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15470
2023-08-21 19:20:00 +01:00
Jeff Young
4aa1a881f3
Pull back some more fixes from master.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15461
2023-08-20 19:08:29 +01:00
Jeff Young
f3dd5b73f8
TestDanglingEnds needs to test sheet pins as well.
...
Also fixes a bug where zooming doesn't get a redraw until mouse moves.
Also fixes a couple of bugs where dangling markers on SCH_SHEET_PINs
and SCH_HIERLABELs weren't getting drawn.
Also simplifies drawing algorithm by removing aesthetic offset (which
wasn't implemented when pin is drawn as part of selection VIEW_GROUP).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15129
(cherry picked from commit c8e8b71198
)
2023-08-20 18:44:40 +01:00
Jeff Young
fd049ef510
Fix selection shadown drawing for global labels.
...
(The border should get shadowed, and the shape should get filled if
m_Selection.fill_shapes is set.)
(cherry picked from commit 1c13f5a0db
)
2023-08-20 18:15:38 +01:00
Jeff Young
7d389f8024
Don't try to be smart about enabling the Clear Annotation button.
...
(At a minimum it would need to also handle when the scope changes, but
it's not clear we're adding anything by enabling/disabling it to start
with.)
(cherry picked from commit 2278f5dbca
)
2023-08-19 20:09:47 +01:00
Jeff Young
af1561b848
Don't double-offset effective text shapes.
...
Also fixes several bugs with intersheet ref fields. (It's possible for
other fields to have an ID of 0.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15165
(cherry picked from commit eedf319ba4
)
2023-08-19 20:09:47 +01:00
Jeff Young
db526e581c
Don't call driverName() unless we have a cache miss.
...
(That is, in fact, the whole purpose of this cache.)
(cherry picked from commit e48a96ecaf
)
2023-08-17 11:49:58 +01:00
Jeff Young
c468b68c5a
Better handling of dangling markers during bus unfold.
...
(cherry picked from commit c981c3668a
)
2023-08-15 17:52:42 +01:00
Jeff Young
acbddc904b
Don't consider newly-added labels when looking for terminal items.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15313
(cherry picked from commit 6cef504d2d
)
2023-08-15 17:52:27 +01:00
Jeff Young
dba36c07fe
Only re-build the members grid when we have to.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15320
(cherry picked from commit d3329a0781
)
2023-08-15 17:26:14 +01:00
Jon Evans
88dfe6eb9c
Stricter API for LIB_TABLE
...
Prevent nickname map or row parent getting out of sync
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15315
(cherry picked from commit 4c4bbdc8f3
)
2023-08-15 01:39:09 +00:00
Jon Evans
255ff5d789
Manual cherry-pick of 256c7fa7
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15367
2023-08-07 11:36:36 -04:00
Seth Hillbrand
2d96c6ad22
Better fix for #15217
...
Rather than rely on a quirk, we avoid the modified structure
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
(cherry picked from commit 248404a0d1
)
2023-08-04 13:59:23 -07:00
Seth Hillbrand
ef7ec13861
Fix-up for previous commit
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
(cherry picked from commit 018d60eb40
)
2023-08-04 13:59:23 -07:00
Seth Hillbrand
8008e09918
Change stale_bus_members to work around MSVC issue
...
Somehow, MSVC vector gets corrupted in certain cases. While the
mechanism is unclear, using an unordered_set avoids this problem
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15217
(cherry picked from commit 7bd3992350
)
2023-08-04 13:59:23 -07:00
Jon Evans
56aff41b7e
Database libraries performance improvements
...
Rework caching system and optimize queries
(cherry picked from commit 39a5929f33
)
2023-08-04 17:57:46 +00:00
Roberto Fernandez Bautista
74b1f603df
Ensure symbols in subsheets are added to multi-unit map before re-annotating
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14918
(cherry picked from commit 6d3f512e15
)
2023-08-04 01:22:26 +02:00