Jeff Young
e230d5164d
Honour renderSettings' default font.
...
This still leaves a few things out in the cold,
such as hit-testing and polygon generation.
But at least it allows us to plot with a default
font.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19031
2025-07-17 09:35:21 +01:00
Seth Hillbrand
1066595a2c
Add wallclock timeout to PNS walkaround
...
WALKAROUND::singlestep is used by both shove and walkaround modes and
can bog down when applied to clusters with many objects. In these
cases, we are unlikely to find a viable solution and it is beter to
allow the user to find a different ending position
(cherry picked from commit d9cfb942812a57238d5ed6bbaa2c1d22a8676071)
2025-07-15 15:24:36 -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
Seth Hillbrand
9cb3a37b6f
Prevent command line applications handling dark mode
...
Double-check before getting background color from invalid m_parent also
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21317
2025-07-15 08:56:51 -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
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
Seth Hillbrand
60822714de
Prevent mutex deadlock
...
Load calls migrate so they don't both need locks
2025-07-14 14:22:46 -07:00
Jeff Young
28da0d3e1e
Attempt to fix non-Mac builds.
2025-07-14 20:47:51 +01:00
Jeff Young
0c220d1a8c
Move CURL shutting-down flag to std::atomic.
...
Also removes lock from KICAD_CURL::Init(), which
leaves us open to multiple parallel Init()'s, but
it's not clear that happens.
2025-07-14 19:16:31 +01:00
Jeff Young
f7e85a7b20
Improved thread safety.
2025-07-14 13:17:53 +01:00
Jeff Young
1b21b880e6
Thread safety.
2025-07-14 13:17:53 +01:00
Jeff Young
a1c26e4516
Thread safety.
2025-07-14 13:17:53 +01:00
Jeff Young
f0909e125e
Thread safety.
2025-07-14 13:17:53 +01:00
Jeff Young
da57c4aa74
Formatting.
2025-07-14 13:17:53 +01:00
Jeff Young
4bc0651a3e
Better debugging.
2025-07-14 13:17:53 +01:00
Jeff Young
a7e2878e6b
Kicad SEXPR should no longer need LOCALE_IO.
2025-07-14 13:17:53 +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
f0c3f469a1
Quiet wxWidgets assert (KICAD-HRE).
2025-07-13 15:25:10 +01:00
Jeff Young
2d2ba268ae
Quiet wxWidgets assert (KICAD-XJ2).
2025-07-13 15:25:10 +01:00
Jeff Young
eb877a2fb4
Don't presume a selection.
2025-07-12 16:49:17 +01:00
Jeff Young
66921b5026
Fix copy/pastas.
2025-07-12 16:39:40 +01:00
Jeff Young
c09fc59ba5
It's too late to flag these at render time.
...
(And we don't control what kind of nonsense fonts
have either.)
2025-07-12 16:08:45 +01:00
Jeff Young
be1e79ccd8
Debugging.
2025-07-12 15:46:07 +01:00
Jeff Young
4d7cbed3a9
Remove over-zealous assert (KICAD-SJZ).
...
Items can be deleted more than once (for instance, a
global deletion of all zone will still try to
clean-up teardrops at the end, deleting them a
second time).
2025-07-12 15:26:30 +01:00
Jeff Young
68109fc0a9
Don't try to write to non-editable combobox (KICAD-6JS).
2025-07-12 09:14:39 +01:00
Jeff Young
34367020c4
Don't presume a selection (potentially KICAD-8VP).
2025-07-11 21:26:19 +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
53c90b0469
Upgrade ShowPlayer re-entrancy guard (KICAD-XAC).
2025-07-10 17:54:42 +01:00
Jeff Young
f097fbdfcc
Multithreaded safety. (KICAD-T5A)
2025-07-09 13:05:22 +01:00
Mark Roszko
49db4df92d
Add a -n arg for "new instance" to kicad.exe for use with the relaunch command
2025-07-08 23:17:46 -04:00
Mark Roszko
572d394be7
Fix shift+middle click on windows no longer working
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21267
2025-07-08 23:17:46 -04:00
Jeff Young
479daa37c5
Shutdown safety. (Potentially KICAD-TJK.)
2025-07-08 18:05:34 +01:00
Jeff Young
30adcaa390
Don't attempt to update status bar while closing (KICAD-506).
2025-07-08 10:44:40 +01:00
Jeff Young
f0972a8667
More protection for stale wxDataView items.
2025-07-08 10:23:40 +01:00
Jeff Young
d3b293ee42
Cleanup.
2025-07-08 09:42:19 +01:00
Mark Roszko
5b599213f6
Unbind the onsize event from the parent while destructing the child
...
Fixes KICAD-RJA
2025-07-07 20:58:40 -04:00
Mark Roszko
c29ca703c7
Remove accidental change
2025-07-06 11:12:19 -04:00
Mark Roszko
1ab8a5944b
Add tiny test for IsCopperLayerLowerThan
2025-07-06 11:10:39 -04:00
Jeff Young
09e5afbe67
Don't ask for a string param from a frame_t event. (KICAD-THA)
2025-07-05 12:02:36 -06:00
Jeff Young
275ff1cb4e
Clear seleciton before removing rows. (KICAD-BER).
2025-07-05 12:02:36 -06:00
Mark Roszko
69e2c55291
Fix crash because the infobar button doesn't have a window yet (because the infobar was not shown yet on Windows), fixes sentry KICAD-X9Z
2025-07-05 13:48:09 -04:00
Mark Roszko
b07fdd0e37
Add some variables to ctor initializer list for CONSTRUCTION_MANAGER
...
m_batchesMutex in particular needs to be ready before accptConstructionItems is called
Sentry KICAD-TYJ
2025-07-05 11:32:13 -04:00
Jeff Young
0730a0bc86
Formatting.
2025-07-04 22:13:49 -06:00
Jeff Young
82d4ab5094
Don't assume a string (KICAD-8QP).
2025-07-04 13:20:41 -06:00
Jeff Young
da9544dfd1
Attempt to patch SWIG for VIEW_ITEM::GetClass().
2025-07-04 10:00:50 -06:00
Jeff Young
0375985d58
Debugging for removing items not in the view.
2025-07-03 20:45:11 -06:00
Jeff Young
4d06fbce1a
Assert when nested_settings is null.
2025-07-03 17:12:17 -06:00
Jeff Young
fde693ebe1
Don't overflow trying to draw ticks on ruler (KICAD-9HV).
2025-07-03 16:34:21 -06:00