12897 Commits

Author SHA1 Message Date
Seth Hillbrand
5f48e2cbf3 Add some additional context for the sync pin error
When editing using synchronized pins mode, you place a pin on all units
but if you already have a pin that only exists on one unit, you might
get a confusing error.  This helps nudge people with to to resolve it.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18466
2025-07-15 14:31:11 -07:00
Seth Hillbrand
ab5aa661e9 Fix a few more stagglers for floating point
Update banned functions to better catch these

- page size
- erc/drc reports
- x/y position files
- color alpha
- footprint reports
- specctra
2025-07-15 13:27:45 -07:00
Jeff Young
6541202d42 Repair COMMON_TOOLS to know about frame-specific WINDOW_SETTINGS
Remove the older architectures for ensuring non-empty
grids and zooms

Move new architecture to PARAM_LIST::Load,
and add zoom support

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21318
2025-07-15 15:24:11 +01:00
Jeff Young
a3bf095387 Clear selection before sending table msg (KICAD-KWE). 2025-07-14 23:46:03 +01:00
Seth Hillbrand
6cd076eed4 Blast quite a bit of LOCALE_IO into the sun
After forcing the locale-specific read/writes out of our IO, we can
remove the global LOCALE_IO calls in many places.

Still to do: exporters, pcm, specctra, settings, drawing sheets,
plotters
2025-07-14 15:30:42 -07:00
Seth Hillbrand
55da0e46af Remove locale-specific floating point from io
Use only C-locale functions wxString::ToCDouble and fmt::format{}
functions so that we do not need to set the locale for file io
operations

This also introduces a cmake check that looks for certain banned
functions (strtod, strtof and atof) that convert strings into doubles
by the user locale or formatting specifiers like %f/%g that convert
doubles into strings by the users locale.  It will prevent compilation
in this case.

For the limited cases where we want to show the user a string in their
locale, we have an override string "format:allow" that can be added to
lines in order to allow them with %f/%g format specifiers
2025-07-14 14:26:00 -07:00
Jeff Young
b53b1cfd01 Debugging. 2025-07-14 13:17:53 +01:00
Jeff Young
5d4eb2cce6 Wait for chooser to finish initializing before enabling char hook (KICAD-BJ0). 2025-07-14 13:17:53 +01:00
Jeff Young
4137b9d31c Don't overflow int rebuilding selection rect (KICAD-E4J). 2025-07-14 13:17:53 +01:00
Jeff Young
273ca3de77 Re-entrancy guard for sym/fp change timers.
(Potentially KICAD-XJN.)
2025-07-13 16:39:50 +01:00
Jeff Young
d3046e6aee Don't steal unrelated timer events (potentially KICAD-XJN). 2025-07-13 16:30:03 +01:00
Jeff Young
68d4940087 Thread-safety (potentially KICAD-VMX...)
... KICAD-6PV, KICAD-82, KICAD-R3A, and others.
2025-07-13 15:25:10 +01:00
Jeff Young
6b32815887 Be more robust around filesystems that don't support timestamps (KICAD-R7V). 2025-07-13 15:25:10 +01:00
Jeff Young
05fcfdaf87 Symbol chooser has different canvases. 2025-07-12 22:38:41 +01:00
jean-pierre charras
a0485a38a7 DIALOG_LABEL_PROPERTIES: allows entering spaces in label names.
This issue was created by switching to FILTER_COMBOBOX in this dialog.
Spaces in labels are not a good idea, but this is needed to enter group
members to a bus definition

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21300
2025-07-12 18:29:34 +02:00
jean-pierre charras
67aaac48e7 Fix a compil and a Coverity warning 2025-07-12 18:27:19 +02:00
Jeff Young
a9ab850f93 Don't bother with save changes for a kill. 2025-07-12 16:38:21 +01:00
Jeff Young
ad83ad512a Debugging. 2025-07-12 16:24:55 +01:00
Jeff Young
21992c5030 Remove overzealous assert (KICAD-7YQ). 2025-07-12 15:53:46 +01:00
Jeff Young
b498ca0376 Commit messages are title caps.
(They appear in the Undo menu.)
2025-07-12 15:53:17 +01:00
Jeff Young
cd48cc4007 Reentrancy guard for placeAnchor (KICAD-A6J). 2025-07-12 15:38:29 +01:00
Jeff Young
ddd7f6df16 We're no longer saving symbol libs from Altium import. 2025-07-12 12:00:08 +01:00
Jeff Young
860fb9cabb Attempt to prevent random DRC crashes. 2025-07-12 10:18:17 +01:00
Jeff Young
1990eec90e We no longer create a symbol lib...
... so there's nothing to read from.  Anyway, if
it has already been seen it'll be in the cache.
2025-07-12 09:54:16 +01:00
Jeff Young
f53c9c4cb8 Formatting (from 9.0 branch). 2025-07-12 09:24:09 +01:00
Jeff Young
1591bf0df7 Remove stale comments. 2025-07-12 09:14:39 +01:00
Jeff Young
fc0bcdc8a3 Remove double-assert.
(getPropertyFromEvent() already asserts if it can't find one.)
2025-07-11 21:26:19 +01:00
Jeff Young
e51908e6c8 Bounds checking (KICAD-GGM). 2025-07-11 21:26:19 +01:00
Jeff Young
58def05886 Remove overzealous assert. 2025-07-11 21:26:19 +01:00
Jeff Young
c0d813ef27 Plot stub for SCH_GROUP. 2025-07-11 21:26:19 +01:00
Jeff Young
dc0e211e1e Can't add to parent group without a commit.
We allow this only for file import, where we don't
need to handle group membership anyway.
2025-07-11 21:26:19 +01:00
Jeff Young
327d0ec51f Mostly debugging help for Sentry, but also gives the user a better Undo string. 2025-07-11 14:41:24 +01:00
Jeff Young
0797217595 Formatting. 2025-07-11 14:41:24 +01:00
Jeff Young
8ae6d179f0 ERC exclusions go in the project file, not the local settings.
Potentially KICAD-PEV.
2025-07-11 14:41:24 +01:00
Jeff Young
5b91a24380 Retire WINDOW_FREEZER in favour of wxWindowUpdateLocker.
Also pulls out previous fix to a Sentry issue I can
no longer find, at least until I figure out what
went wrong.
2025-07-11 13:21:04 +01:00
Jeff Young
bdd8790180 Specialize table cell properties exposure.
(Also removes solder mask properties from textboxes.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21224
2025-07-10 17:54:42 +01:00
Jeff Young
53c90b0469 Upgrade ShowPlayer re-entrancy guard (KICAD-XAC). 2025-07-10 17:54:42 +01:00
jean-pierre charras
5f8547dc7e Minor compil warnings fixes. 2025-07-09 15:38:33 +02:00
Jeff Young
0f19ed5f9f Shutdown safety. 2025-07-09 13:05:22 +01:00
Jeff Young
479daa37c5 Shutdown safety. (Potentially KICAD-TJK.) 2025-07-08 18:05:34 +01:00
Jeff Young
c183e1e3d2 Shutdown safety. (Potentially KICAD-S3Q.) 2025-07-08 14:06:02 +01:00
Jeff Young
f7e275ba04 Formatting. 2025-07-08 13:52:14 +01:00
Jeff Young
819324aa48 Formatting. 2025-07-08 10:37:13 +01:00
Jeff Young
f0972a8667 More protection for stale wxDataView items. 2025-07-08 10:23:40 +01:00
Jeff Young
b4f44a0833 Formatting. 2025-07-08 09:42:19 +01:00
Jeff Young
0ba617bf1a MakeNetNavigatorNode() will attempt to select it (while frozen). KICAD-VV8 2025-07-08 09:42:19 +01:00
Jeff Young
5390e0d7f9 Don't double-delete panes. (Potentially KICAD-22T) 2025-07-07 18:31:31 +01:00
jean-pierre charras
b8d2bdb3d2 EEschema: avoid DNP and EXCLUDE from SIM markers blinking when moving an object
They were redrawn multiple times, and not always on the right graphic layer, thus
creating draw artifacts.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20483
2025-07-07 17:00:29 +02:00
Jeff Young
9098750ba0 Debugging.
(Separate so Sentry can tell us which one fired.)
2025-07-07 12:17:10 +01:00
Jeff Young
4e62a71448 Not all callers are expecting GUI to be put up at this level.
Potentially KICAD-RVC.
2025-07-07 11:50:03 +01:00