Commit Graph

9737 Commits

Author SHA1 Message Date
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
jean-pierre charras 8625a59d4c Fix a display issue in wxStyledTextCtrl widgets in dialogs (Windows specific).
It happens when a text is using some esoteric unicode chars.
Fixes #15314
https://gitlab.com/kicad/code/kicad/-/issues/15314
2023-08-03 18:44:57 +02:00
jean-pierre charras cb4289fd19 Eeschema: fix position of shadow shape of graphic texts in a footprint.
From master branch
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-08-03 15:44:39 +02:00
Jon Evans 228fe71eb4 Do not force focus on dataview in RC dialogs
On GTK, this causes the first item to be selected, firing the
selection handler and causing unwanted side effects.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11925


(cherry picked from commit 7804c2177c)
2023-08-03 13:06:37 +00:00
Ian McInerney e5df16ba2b Pass proper parent to symbol viewer frame when changing symbols
Fixes sentry KICAD-1Z9
Fixes sentry KICAD-22J

(Cherry-picked from 1f5719ef3a)
2023-08-02 23:29:04 +01:00
jean-pierre charras 0f4bd34bce Eeschema: Export symbols to New Library: Fix Cancel button not working
This bug can crash Eeschema.
Fixes #15278
https://gitlab.com/kicad/code/kicad/-/issues/15278
2023-07-27 15:16:33 +02:00
Kuba Sunderland-Ober b7363225da Ensure the bitmap exported to the clipboard is valid.
Fixes #14808
https://gitlab.com/kicad/code/kicad/-/issues/14808

(cherry picked from commit e852d04043)
2023-07-25 11:14:36 -07:00
Seth Hillbrand 2fa05ed245 Sort the bus alias set by name
If we place pointers in a set, they are sorted by the pointer value in
memory, not the data, so we need a custom comparator

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11890

(cherry picked from commit f7f67c6d53)
2023-07-21 09:04:46 -07:00
jean-pierre charras cc2637b310 Symbol editor, DIALOG_FIELD_PROPERTIES: fix missing initialization of font.
In Symbol editor, trying to change the font of a field did nothing.
From master branch
2023-07-18 19:41:56 +02:00
Jeff Young e1c6f4f58f Repair new switch-based Global Update Text & Graphics.
We were forgetting to handle wire and bus labels.
2023-07-16 20:24:20 +01:00
Jeff Young c50888fc79 Use loaded colours for DNP symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15203

(cherry picked from commit 89e2cb0b85)
2023-07-16 20:06:41 +01:00
Jeff Young 0562776b7a Fix logic errors in DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS::visitItem().
(We can't exit out if it doesn't match a particular type as we haven't
checked the other types yet.  Use a switch to prevent this.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15206

(cherry picked from commit a16033f624)
2023-07-16 20:04:43 +01:00
Jeff Young 9cf79ffb5a Pick up snapped item's line properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15192

(cherry picked from commit 89780d353a)
2023-07-16 20:03:03 +01:00
Jeff Young 63b0ef65e0 Try both ends to see if one is a wire.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15178

(cherry picked from commit 5f8583cd25)
2023-07-16 20:02:29 +01:00
Jeff Young e53269c37f Don't DisplayCurrentSheet() if we're already on it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14305

(cherry picked from commit efac777f28)
2023-07-09 21:55:54 +01:00
Jeff Young 0652267d00 Don't reset page unless we have to.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15033

(cherry picked from commit f892194be4)
2023-07-09 21:08:52 +01:00
Jeff Young 76f8b3df22 Treat undo as backspace and/or escape when drawing. Ignore redo.
Undo == backspace when drawing a polygon or chained lines.  Otherwise
it's an escape.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14961

(cherry picked from commit ef6866757e)
2023-07-09 21:08:51 +01:00
Alex Shvartzkop 6f384c8802 Altium schematic: import net label justification.
(cherry picked from commit 37772ac29e)
2023-07-09 05:46:11 +05:00
Alex Shvartzkop 7078381175 Eeschema printing: fix bg fill when paper orientation or size differs.
(cherry picked from commit 86458ae582)
2023-07-09 05:46:11 +05:00
Alex Shvartzkop dfc17244d4 Perf: don't search for niluuid items when moving cursor in eeschema.
Reduces CPU usage by 60% in some cases.

(cherry picked from commit 55b31030c0)
2023-07-09 05:46:11 +05:00
jean-pierre charras 713cb032b5 Fix some (minor) issues when drawing shadow texts of RULER_ITEM and pin names.
From master branch (commits 355575e4, 1698fb66 and 965aaa21)
Fixes #15019
https://gitlab.com/kicad/code/kicad/-/issues/15019
2023-07-06 19:57:49 +02:00
Marek Roszko 24ed144200 Fix EDA_TEXT creation that worked due to implicit cast
A leftover from the units object rework and I forgot to double back. The DEFAULT_SIZE_TEXT is set inside the constructor now


(cherry picked from commit b5e420c33c)
2023-07-05 13:16:10 +00:00
Seth Hillbrand 8b26f50003 SIM_VALUE stores significants in 64-bit
stol isn't neccesarily 64-bit though, so we use stoll and catch the
overflow if we have bad input data

Fixes KICAD-2EF

(cherry picked from commit 7779a01d48)
2023-06-29 10:45:29 -07:00
Fabien Corona bf78ac7a6c IBIS: model type should not be case sensitive
Fixes #15068


(cherry picked from commit 8abb701727)
2023-06-28 21:03:49 +00:00
jean-pierre charras f974c8259e spice_library_parser: catch an exception thrown when a spice model cannot be built.
Fixes #15012
https://gitlab.com/kicad/code/kicad/-/issues/15012
2023-06-20 10:34:50 +02:00
Seth Hillbrand 6fc393c7db Upgrade file locking
wxSingleInstanceChecker is meant for running programs, not file locking.
This implements an RAII class for file locking that stores the lock
files next to the file being locked, allowing it to be easily found and
removed.  Also includes the ability to override the lock, with
information about the original owner

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14734

(cherry picked from commit 122be418bb)
2023-06-18 01:06:40 +02:00
Seth Hillbrand 361fdcce1b Maintain file permissions when renaming
Temporary and autosave files do not neccessarily have the correct
permissions set to replace existing project files.  This updates the
permissions to match the existing values where possible

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13574

(cherry picked from commit 48ecd742eb)
2023-06-18 01:06:14 +02:00
Jeff Young e7ae6cd190 Recompute intersheet refs while printing.
Also fixes a bug where the schematic offset wasn't being added to
intersheet refs when printing.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14978

(cherry picked from commit e3eb0abc5f)
2023-06-17 18:12:44 +01:00
Alex Shvartzkop a5ded3341a Adapt panels to PAGED_DIALOG sizing algorithm.
Also some cosmetic fixes (GTK).

(cherry picked from commit d3be62f644)
2023-06-17 15:19:26 +03:00
Alex Shvartzkop c61931996a PAGED_DIALOG: allow setting initial size in ctor.
(cherry picked from commit f5da58e17d)
2023-06-17 15:19:26 +03:00