Commit Graph

4555 Commits

Author SHA1 Message Date
Seth Hillbrand fbc19ab893 Make coroutines stack size configurable
This allows rapid debugging of the coroutine memory issues.  It moves
the default stack size to 256 * 4096 = 2^20, which will utilize full
pages on all architectures.
2019-08-15 09:25:13 -07:00
Jeff Young 8ba7d4570c Move warp-mouse-on-move setting from Eeschema settings to common settings.
It's also used by the Symbol Editor, and will likely be used by
Pcbnew and friends in the future.
2019-08-15 12:53:04 +01:00
Jeff Young 206b40621e Fix bugs in Eeschema paste.
1) don't ASSERT; use exceptions (which can be caught) instead.
2) clean up LIB_LOGGER so it's only used during sync
3) fix typos in wxLogMessage() calls so they produce output.
4) throw on unrecognized token in loadContent().
5) if clipboard can't be pasted as content then paste as text.

Fixes: lp:1840172
* https://bugs.launchpad.net/kicad/+bug/1840172
2019-08-15 10:00:23 +01:00
Shawn Anastasio 3e22b75948 Fix libcontext on PPC64 ELFv2
libcontext currently restores and saves the FPSCR register
on ppc64. This behavior is fine (though unnecessary) on the
ELFv1 ABI which designates the register as volatile, but has
been observed to cause crashes on ELFv2 systems.

The ELFv2 ABI designates the FPSCR register as Limited-access
and specifies specific conditions that must be met to clobber
it. It does not seem that a context swap function meets these
conditions (and indeed, the save/restore register example in the
ABI document does not modify FPSCR).

This patch fixes ELFv2 ABI compliance by removing the FPSCR
save/restore code in libcontext entirely. This fixes observed
crashes on the platform and should have no consequence for
ELFv1 support.

Fixes: lp:1840088
* https://bugs.launchpad.net/kicad/+bug/1840088
2019-08-14 11:16:40 -07:00
Jeff Young 3cdf88f2c6 CERN copyrights for work packages. 2019-08-14 09:35:15 +01:00
Ian McInerney 8493daf9ff Unify menu item creation for closing a window
* Push a function into CONDITIONAL_MENU that adds the item
* Modify the tooltip for close and exit items to have the
  program name

Fixes: lp:1835454
* https://bugs.launchpad.net/kicad/+bug/1835454
2019-08-14 09:35:15 +01:00
Jeff Young c2d77a7300 Add some defensive code to prevent re-entrant printing.
Fixes: lp:1765965
* https://bugs.launchpad.net/kicad/+bug/1765965
2019-08-13 18:00:09 +01:00
Jeff Young a33d67f6b4 Push shift/cmd+<enter> processing down into dialog shim.
This will make them more uniform rather than only supported when
something else is using <enter>.

Fixes: lp:1838353
* https://bugs.launchpad.net/kicad/+bug/1838353
2019-08-13 16:53:40 +01:00
Ian McInerney 9fda86e261 cvpcb: Move file extension to common and deprecate a header 2019-08-12 14:19:01 -04:00
Michael Kavanagh 79b2ff7551 Refactor deleteTool ACTION removing duplicates 2019-08-12 13:49:55 -04:00
Seth Hillbrand c9d65c5324 Adding contributors 2019-08-10 14:22:27 -07:00
Jeff Young 3a2c39b0f8 Remove disappearing-preferences hack in favour of fix in wxWidgets.
This has been patched in our local OSX wxWidgets branch.
2019-08-10 11:58:05 +01:00
Jeff Young 17b5a3750b Move preferences-lost hack down into EDA_DRAW_FRAME.
I've now seen it in Eeschema as well as Pcbnew.

Fixes: lp:1839148
* https://bugs.launchpad.net/kicad/+bug/1839148
2019-08-09 21:22:56 +01:00
Jeff Young 4d53ff9811 Grid dropdown doesn't always live in the same toolbar.
Also fixes typo in grid properties dialog.

Fixes: lp:1839224
* https://bugs.launchpad.net/kicad/+bug/1839224
2019-08-08 13:51:23 +01:00
Jeff Young 8db8119564 Redraw selection halos after zooming.
Fixes: lp:1838869
* https://bugs.launchpad.net/kicad/+bug/1838869
2019-08-08 13:51:23 +01:00
Seth Hillbrand 5151cd0bfe C++14: Remove unused make_unique.h
Also removes header references now that we are in C++14, this is
built-in to the std
2019-08-07 09:27:31 -07:00
jean-pierre charras 38fc51c3b6 CMakeLists.txt: add compil option KICAD_STDLIB_LIGHT_DEBUG, useful when KICAD_STDLIB_DEBUG cannot be used.
KICAD_STDLIB_DEBUG option generate intrusive tests and asserts, and on Windows, generate crashed not captured by GDB.
KICAD_STDLIB_LIGHT_DEBUG generate less intrusive tests and asserts.
it adds only -Wp,-D_GLIBCXX_ASSERTIONS and that generate less asserts.

Add also the new build options in dialog about.
2019-08-07 14:51:28 +02:00
Seth Hillbrand 5facd37376 GAL: Use cursor enum
Not all platforms define the WXWIN_COMPATIBILITY_2_8 so an int isn't
properly cast.
2019-08-06 18:33:42 -07:00
Ian McInerney 920120864f Fix initialization of COLOR4D statics
Just declaring as static const would give an initialization order
fiasco since they were being used to initialize other statics.
2019-08-06 10:06:10 -07:00
Ian McInerney b6f6fc3d65 Return handled status for actions run from hotkeys 2019-08-05 20:46:05 -06:00
Jeff Young 1a68d7c200 Cleanup no-longer-used variable. 2019-08-05 16:48:18 -06:00
Jeff Young 97d70d7844 Fix cursor bugs in simulation.
1) cancel simProbe or simTune when simulator window closed
2) handle non-stock cursors through SetCurrentCursor()

Fixes: lp:1833583
* https://bugs.launchpad.net/kicad/+bug/1833583
2019-08-04 16:25:36 -06:00
Jeff Young 5503727d3d Fix some placement bugs with selection haloes on text.
Fixes: lp:1838841
* https://bugs.launchpad.net/kicad/+bug/1838841
2019-08-03 17:20:54 -06:00
Jeff Young cc82e59003 Push the Quit/Close menu logic down into common. 2019-08-02 14:32:49 -06:00
Ian McInerney 05429bc39c Recursively call evaluate on submenus of conditional menus
There seems to be a bug with certain GTK setups that prevents the
submenus from getting sized correctly unless the elements are added
when the main menu is displayed.

Fixes: lp:1835460
* https://bugs.launchpad.net/kicad/+bug/1835460
2019-08-02 14:32:49 -06:00
Jeff Young 937e3c2d48 Make m_Text private so we don't keep getting bugs where m_shown_text fails to get updated.
Fixes: lp:1838655
* https://bugs.launchpad.net/kicad/+bug/1838655
2019-08-01 20:36:59 -06:00
Ian McInerney bea74c27e5 Add log trace for tool handling 2019-07-31 21:56:53 -06:00
jean-pierre charras 9b6c8c885b 3D viewer: fix preferences/grid issues: grid menuitems always disabled. 2019-07-30 19:12:34 +02:00
Jeff Young 6bf1ac45e3 New selection highlighting model for eeschema. 2019-07-29 19:57:41 -06:00
Jeff Young 3904d7ccfc Push some search stuff down into EDA_DRAW_FRAME so it can be shared.
Also rewrites the PCBNew Find dialog to make use of the above, including:
1) searching in user-defined footprint fields
2) searching in pcb text
3) a history list in the search popup
4) case sensitive searching
5) word sensitive searching
6) the ability to turn wildcard searching on/off
7) better placement of the result when the dialog obscures part of the
window

Fixes: lp:1838006
* https://bugs.launchpad.net/kicad/+bug/1838006
2019-07-26 17:53:32 -06:00
Jeff Young 460b03372d Implement preference for immediate actions.
Also pushes prefer-selection-to-dragging to common.
2019-07-25 20:41:22 -06:00
Stefan Hamminga e58d9606dd Rebased LTO fix for coroutines
Fixes: lp:1793329
* https://bugs.launchpad.net/kicad/+bug/1793329
2019-07-25 12:16:17 -07:00
jean-pierre charras bd8721d6b9 Python scripting: fix missing definition of uint32_t (and some other similar defs).
Fixes: lp:1837867
https://bugs.launchpad.net/kicad/+bug/1837867
2019-07-25 20:53:26 +02:00
jean-pierre charras 9e90cb9572 Kicad manager: fix incorrect handling of disabled state of tools in launcher toolbar 2019-07-24 18:04:04 +02:00
Seth Hillbrand 7759ad7e27 eeschema: Clean up backup name
This fixes the last suffix that was missed by 168fa09f5.  The schematic
backup files should have the suffix .sch-bak to distinguish from
.kicad_pcb-bak or other backups.

(cherry picked from commit b6fe4ff637)
2019-07-23 16:15:04 -07:00
jean-pierre charras 858db3c104 Synchronize toolbars state with current options after rebuilding them.
Previously, for instance after modifying preferences or language,
they were rebuilt but the tools state was not set due to a missing call to SyncToolbars() after rebuilding.
2019-07-20 18:16:35 +02:00
jean-pierre charras b428d74281 Fix incorrect size of the displayed worksheet when starting eeschema or gerbview without file loaded.
It was due to not fully initialized VIEW parameters the first time COMMON_TOOLS::ZoomFitScreen() is called.
2019-07-20 11:53:53 +02:00
Jeff Young 43be58a1ea Fix bug in occulted centering logic. 2019-07-19 19:06:09 -06:00
jean-pierre charras 6577309de4 DIALOG_PRINT_GENERIC: more easy to use user scale option. (not actual change for printing)
- fix an issue when trying to enter a scale < 1.0: such a scale starts by 0, that was rejected by the filter)
- automatic clamp to user scale limits, to avoid many warnings to users.
- if the user scale is out of bounds, warn the user before trying to print, not when opening the dialog.
2019-07-18 13:14:42 +02:00
jean-pierre charras c84c10fa06 PAGED_DIALOG: fix an issue related to TransferDataFromWindow and TransferDataToWindow, on wxWidgets 3.0
On wxWidgets 3.1 they are called recursively but not on on wxWidgets 3.0.
We call now TransferDataToWindow and TransferDataFromWindow only once,
but ensure it is called for all pages.

Fixes: lp:1836901
https://bugs.launchpad.net/kicad/+bug/1836901
2019-07-17 16:47:48 +02:00
Tomasz Wlostowski 6cab769f41 MSVC support for libcontext
This uses the Windows native Fiber API.
2019-07-17 08:10:47 -04:00
Simon Richter 884ae5a7ff Work around missing min/max in Windows headers
Windows headers assume min/max to be macros, but we set NOMINMAX to hide
the macro definitions. This pulls in an alternative implementation.
2019-07-17 08:10:47 -04:00
Seth Hillbrand f2db7ecbe4 Partial revert of 1a7cef2950
The referenced commit broke the unit tests, creating invalid
connectivity for polygon fills.
2019-07-16 11:08:29 -07:00
jean-pierre charras 6388189f48 Preferences, Hotkey list: Avoid list to be shown twice.
The bug was due to the fact TransferDataToWindow was called twice, and the hotkey list was not cleared before rebuild it
2019-07-16 18:30:14 +02:00
Jeff Young 2c5876ee8c Add more control over how corners are handled when inflating polygons. 2019-07-16 16:41:21 +01:00
Jeff Young e816a0c29d Push Eeschema & PLEditor PICKER_TOOLs down into common.
Also implements a more robust push/pop tool strategy for pickers.
2019-07-16 00:44:01 +01:00
Jeff Young 16f672a9bd Fix signed/unsigned mismatch.
Fixes: lp:1836626
* https://bugs.launchpad.net/kicad/+bug/1836626
2019-07-15 20:01:28 +01:00
Jeff Young 58ca5b71a9 A more robust fix for 36f1d023f0.
This one also handles when the events get out-of-order due to them
starting out in the Simulation window and not getting dispatched until
the mouse goes over the Schematic window.

Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907

Fixes: lp:1836544
* https://bugs.launchpad.net/kicad/+bug/1836544
2019-07-15 14:15:24 +01:00
Jeff Young a3c74051c2 Allow edits to self-intersecting polygons.
1) Intermediate states might be self-intersecting, and we shouldn't
be policing our users on what order to do things in
2) The polygon might already be self-intersecting, at which point we're
preventing the user from fixing it.

Also includes better const management for SHAPE_POLY_SET API.

Fixes: lp:1833831
* https://bugs.launchpad.net/kicad/+bug/1833831
2019-07-14 18:18:48 +01:00
Jeff Young 928d6c5dff Implement preserved-corners to prevent divots when filling adjacent zones.
Fixes: lp:1460787
* https://bugs.launchpad.net/kicad/+bug/1460787
2019-07-14 18:18:48 +01:00