91 Commits

Author SHA1 Message Date
Jeff Young
8c85cd43f3 Copy c'tor / operator= safety.
Also fixes a memory leak of search pane handlers.
2025-08-02 22:04:53 +01:00
Seth Hillbrand
3d4afcc051 Handle bad init in libgit2 2025-07-30 16:20:11 -07: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
Wayne Stambaugh
e09b095533 Common folder housekeeping part 3. 2025-01-16 11:50:08 -05:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
Alex Shvartzkop
16e3692e71 Build time optimizations. 2024-04-27 23:49:13 +03:00
Jon Evans
f613cd1cb4 ADDED: A new IPC API based on protobuf and nng
Details, documentation, and language bindings are works in
progress and will be evolving over the course of KiCad 9
development.
2024-04-02 19:34:36 -04:00
Marek Roszko
83ef5fd7d6 Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
Ian McInerney
d44b04978a Allow enabling WXTRACE in release builds on all platforms
Setting the environment variable KICAD_ENABLE_WXTRACE now enables wx
trace logging on all platforms. MSW still requires its original
environment variables to be set to get the console displayed.
2024-02-02 14:21:33 +00:00
John Beard
b57626807d Fix crash when cancelling fp table setup
The missing OnPgmExit leads to a segfault later if you
cancel the FP table setup when initialising a new config.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16525
2024-01-08 23:33:12 +00:00
Seth Hillbrand
d99641be40 ADDED: Git integration support
Adds support for project-based git integration, branch support, commit,
revert and updates

Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Marek Roszko
8abd32c97c HideSplash() earlier before the initial frame->Show()
There are instances we can throw modals very fast on frame show :/

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15168
2023-07-12 06:55:01 -04:00
Marek Roszko
74d6dc6642 ADDED: Startup splashscreen
This is purely loading in the background based and has no artificial delay.
Will be more useful once kicad.exe ends up loading more on launch immediately ;)
Right now the splash is probably visible the longest launching pcbnew standalone.

The actual splash image can be considered a placeholder
2023-06-20 20:51:08 -04:00
Mark Roszko
03990ee7e0 Move the custom assert handler to release builds only 2023-06-13 13:04:37 +00:00
Marek Roszko
992ed34365 Disable sizer asserts in release 2023-06-13 07:08:33 -04:00
Marek Roszko
8eb265bf4c Add a central assert handler that generates sentry events 2023-05-31 21:56:59 -04:00
Seth Hillbrand
14f6e32c74 ADDED: Change watcher for libraries
When editing or viewing library symbols, the files are watched for
underlying changes.  If any occur, the user is either prompted to reload
(if reloading would overwrite their current edits) or the file is
silently updated to the current version on disk.

This also sets a custom assertion handler to avoid unneeded crashes when
recieving invalid SAMBA packets and turns off assertions entirely when
running in release (non-debug) mode
2023-05-31 13:46:00 -07:00
Marek Roszko
c5d5450f55 Create a central exception handler we can also use to generate sentry events 2023-04-19 20:38:25 -04:00
Seth Hillbrand
82ba67db82 Initialize settings for SINGLE_TOP 2023-04-18 19:27:32 -07:00
Jon Evans
e76fd128c3 Stop treating OpenProjectFiles failure like a fatal error
There is no need to try to bail out if this call fails,
and the bail-out was wiping out the app settings.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13427
2023-01-22 22:48:31 -05:00
Seth Hillbrand
a5e6f11682 Fix crash when closing non-modal 2023-01-12 13:21:22 -08:00
Seth Hillbrand
fa91d906d0 Fix event blocker on GTK
We block events when a modal window is active.  But detecting when the
modal window is closed is harder on GTK than just counting modal closes
because the modal flag can sometimes be unset before the wxEVT_SHOW
event fires.  Instead, we track the stack of modal windows opened and
close the window and subsequent windows when the object pointer matches

Fixes https://gitlab.com/kicad/code/kicad/issues/13372
2023-01-12 11:53:00 -08:00
Marek Roszko
3fe004fd1b New kicad-cli will now be the cli interface 2022-10-04 22:24:13 -04:00
jean-pierre charras
4611817f25 Eeschema: fix a crash when invoking eeschema.exe with 2 filenames to open
Fix also a minor compil warning
2022-10-04 16:56:13 +02:00
Marek Roszko
7d16fba8f9 Fix launching of files 2022-10-04 07:32:22 -04:00
Mark Roszko
fb8a4c10f7 Shove kicad2step into pcbnew itself with a new cli 2022-10-04 01:53:37 +00:00
Seth Hillbrand
b5bf1da251 Keep track of blocking windows
Allows the calling KiWAY player to send messages to the blocking window
before signaling a separate call

Fixes https://gitlab.com/kicad/code/kicad/issues/11891

Fixes https://gitlab.com/kicad/code/kicad/issues/11772
2022-07-13 19:25:24 -07:00
jean-pierre charras
60c65c2a1d Avoid loading python stuff when starting applications that do not use it.
It is useless, and debug is slightly easier (less constraints) at least on msys2
2021-08-17 19:48:55 +02:00
jean-pierre charras
450b0c9e27 single_top.cpp: re-add lines removed by commit 5fa5a73c, needed in stand-alone.
Otherwise, the main frame created in stand-alone mode is never shown.
2021-06-24 09:04:27 +02:00
Jeff Young
5fa5a73c6d File open/import progress dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/6864

Fixes https://gitlab.com/kicad/code/kicad/issues/2166
2021-06-23 23:55:54 +01:00
Seth Hillbrand
192fbfd5e5 Finalize Python Frame 2021-06-01 20:18:24 +00:00
Seth Hillbrand
f274a00c08 Remove PYTHON_* compile options 2021-06-01 20:18:24 +00:00
Ian McInerney
41f88dbabc Refactor platform-specific init into two phases
The first phase is for the environment before the OS
apps are created, and the second phase is for after
the OS app is created but before all of our processing.

Fixes https://gitlab.com/kicad/code/kicad/issues/7992
2021-03-23 19:11:08 +00:00
Jon Evans
c04e19f9ac Include optimization: move some things from common.h to point-of-use 2021-03-20 12:09:18 -04:00
Ian McInerney
3036683a2c Move platform-specific init tasks into KIPLATFORM 2021-03-19 21:26:07 +00:00
Jeff Young
b47453a93b Fix app names in Quit menu items on Mac. 2021-03-09 16:45:33 +00:00
Marek Roszko
b1d394258f Fix grammar 2021-01-22 21:25:23 -05:00
Marek Roszko
320ca5a0d0 Prevent KiCad launch on Windows 7 if python 3.8 or newer is bundled
Soon to be a permanent check regardless of python on Windows
2021-01-21 21:58:53 -05:00
jean-pierre charras
eb7dc6ddd9 Minor fixes. In stand alone show the frame as soon as possible.
Especially when running Pcbnew to open a complex board the frame is shown faster.
Add also a busy cursor when loading files and building the data.
2020-12-21 17:44:10 +01:00
Jeff Young
fc2bdc49de Once more into the depths of hell... er, I mean fix a focus issue.
So the new steals-focus protection stuff works well when there's a
focused control, but not as well when there's a modal dialog up which
happens not to have a focused control (or worse, a focusable control).

This adds a second mechanism for also checking to see if a modal dialog
is up (something that wxWidgets, true to form, makes very difficult).

Fixes https://gitlab.com/kicad/code/kicad/issues/6520
2020-11-26 16:47:40 +00:00
Marek Roszko
5100f720ef Don't hard crash on a failed kiway player due to null reference
This is possible if a kiface fails loading due to missing dlls, etc
2020-11-13 21:42:32 -05:00
Seth Hillbrand
7997456893 Update single_top.cpp to fix errant "footprint" text 2020-10-21 18:13:31 +00:00
Seth Hillbrand
f8a4edb1c9 First pass renaming module to footprint
This is mostly in comments and the few remainin text strings that
reference module
2020-10-20 20:49:11 -07:00
Marek Roszko
a1c75748a0 Remove GetChars(), a wxWidgets 2.9 compatibility hack 2020-10-15 20:53:25 -04:00
Marek Roszko
2b2e8552be Turn off the leak dumping under MSVC as wxWidgets causes it to falsely report dumps on exit 2020-10-08 17:08:01 +00:00
Jon Evans
e27786de2d Fix double call of OnPgmExit
Also fix bad filename being passed to pcbnew when starting
from a blank schematic in standalone mode

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5786
2020-10-04 18:39:33 -04:00
jean-pierre charras
36bc44e6d7 more cleanup about removing useless include 2020-10-02 19:56:10 +02:00
Ian McInerney
c458b50fd9 Ensure the environment variables are synchronized between KiCad and Python
Before this, the environment variables inside Python wouldn't reflect
the updates to them made after the interpreter was started in Pcbnew.
This will call into Python and set the variables when they are changed,
since Python can't synchronize itself when running in an embedded
interpreter.

Fixes https://gitlab.com/kicad/code/kicad/issues/5071
2020-08-09 19:56:12 +01:00
Seth Hillbrand
7e3a338518 Move warning flags to proper place
Cleans unitialized warnings in wxApps
2020-07-02 12:17:45 -07:00