Commit Graph

15847 Commits

Author SHA1 Message Date
Jeff Young 3aaba79b87 Fix crash when unfolding bus.
Thanks to Julien Faucher for the investigation into the problem.
2019-04-28 18:41:17 +01:00
John Beard 10900c918f Eeschema: Fix/circumvert GTK3 tree view bug
There is a rendering bug in GTK3, which appears to be
an upstream GTK issue.

This can be worked around by, when filtering, ensuring the
*parent* item of the selected item is visible. This will
not cause the selected item to not be visible, as the selected
item will be the first shown child. So it will be visible, as long
as the list box is greater than a single row high, which it will be
in all practical scenarios.

This is done on all platforms, as it has a beneficial side-effect:
the parent library of the selection is naturally shown to the
user, so they don't need to scroll up to see what library their
current filter selection was in.

Fixes: lp:1804400
* https://bugs.launchpad.net/kicad/+bug/1804400
2019-04-28 17:12:12 +01:00
jean-pierre charras e808c7f956 Remove a message used in a previous debug session. 2019-04-27 17:07:31 +02:00
John Beard fcc4a84e0e GAL: add some trace to GAL display options config
This can be helpful when tracing where certain configurations
come from (some apps load from other apps' config basenames).
2019-04-27 14:57:14 +01:00
John Beard 33fe9a2761 Eeschema: Symbol preview widget needs common config for Hi-DPI
Currently, this widget doesn't read the common library settings.
This means it doesn't use the configured DPI scaling or anti-aliasing
settings.

Use the ReadConfig method on the GAL options to fix (rather than
only ReadAppConfig).

Fixes: lp:1825913
* https://bugs.launchpad.net/kicad/+bug/1825913
2019-04-27 14:57:09 +01:00
Michael Kavanagh df228a3c10 Pcbnew: Fix missing UI elements for curved ratsnest function
Fixes: lp:1826446
* https://bugs.launchpad.net/kicad/+bug/1826446
2019-04-27 15:11:41 +02:00
John Beard eccadd92fb Eeschema: fix resizing of pin table and edit symbol dialog
These dialogs had logic to avoid a table re-adjustment unless
the width changed. This was done to avoid spurious resizing
calls under GTK+3. This was commit
13249b723b, fixing bug lp:1817810.

However, by only calling event.Skip() when the width changed,
redraws were inhibited when only the height changed.

Placing the Skip() outside the width-change check fixes this,
and does not re-introduce the lp:1817810 bug (it is the column
adjust call that causes that).

Fixes: lp:1826615
* https://bugs.launchpad.net/kicad/+bug/1826615
2019-04-27 14:01:05 +01:00
Jeff Young 69cdb4a76c Make Import Settings button label more specific.
Fixes: lp:1826477
* https://bugs.launchpad.net/kicad/+bug/1826477
2019-04-26 15:02:17 +01:00
Jeff Young 6536b4766c Move DeactivateTool until after the block items list has been updated.
Fixes: lp:1825855
* https://bugs.launchpad.net/kicad/+bug/1825855
2019-04-26 14:49:43 +01:00
Jeff Young 50a9a6e1f7 Fix bug with swapping pin data for undo. 2019-04-26 12:44:35 +01:00
John Beard d89d0e6b74 SHAPE_ARC: Fix bug introduced in 5813164d1.
This fixes the bug exposed in the previous commit.
The tests which exposed it now pass and expected failures
removed.
2019-04-25 23:49:42 +01:00
John Beard 183f4fe9a5 SHAPE_ARC: Expose bug introduced by 5813164d1 in tests
The angle needs to be added to the start angle.

Add tests to cover this:

* Check end point is correct
* Check midpoints are within tolerance

This would have prevented the bug fixed in 5813164d1,
as well as the bug fixed in this commit.

As well as failed tests, this manifests when routing across
Edge.Cuts arcs (unless they happen to start at 0 degrees
staritng angle).

Expose as expected failure to prove tests catch it.
Fix to follow in separate commit.
2019-04-25 23:49:42 +01:00
Jeff Young 0844a5c478 Implement more robust pinMap.
In particular, one that doesn't suffer from pointers going stale
when the m_pins vector is re-sized.
2019-04-25 23:10:45 +01:00
Jeff Young f9dd1324da Cleanup problems with fighting event loops. 2019-04-25 22:58:58 +01:00
Jeff Young 8049c07a34 Add filtering to RequestSelection(). 2019-04-25 22:58:58 +01:00
Jeff Young e476cfcec5 Move SPICE tools to modern framework. 2019-04-25 22:58:58 +01:00
Jon Evans 3233bedc7a Ensure pin map pointers are valid after pin vector is filled 2019-04-25 16:04:01 -04:00
Jon Evans 0ce32f7be1 Remove UpdatePins call from connectivity calculation 2019-04-25 15:32:51 -04:00
Jon Evans 098102220e Fix detection of lonely local labels 2019-04-25 15:31:44 -04:00
Jon Evans f0376f1379 Improve ERC checking of labels
Fixes: lp:1824629
* https://bugs.launchpad.net/kicad/+bug/1824629
2019-04-25 15:10:39 -04:00
Michael Kavanagh a427d0c0e7 PL editor: fix delete hotkey behaviour
Also fix assert related to zoom to selection menubar item (missing wxITEM_CHECK).

Fixes: lp:1819419
* https://bugs.launchpad.net/kicad/+bug/1819419
2019-04-25 18:51:08 +02:00
Tomasz Włostowski 5813164d15 SHAPE_ARC: fixed polyline conversion bug introduced in e312e2b286
Fixes: lp:1826278
* https://bugs.launchpad.net/kicad/+bug/1826278

Fixes: lp:1826270
* https://bugs.launchpad.net/kicad/+bug/1826270
2019-04-25 15:30:27 +02:00
Jon Evans 1426a4f3cf Ensure shown text is cached at creation 2019-04-25 00:46:51 -04:00
Jon Evans e06d37090a A few connectivity performance tweaks 2019-04-25 00:37:10 -04:00
Jon Evans 3bfe5fb84b Cache unescaped text to boost connectivity performance 2019-04-25 00:14:25 -04:00
Jon Evans ed27c50692 Improve handling of non-unique connections 2019-04-24 23:47:57 -04:00
John Beard f7d35cf94b Sexpr: needs to be a STATIC lib
Fedora COPR builds with -DBUILD_SHARED_LIBS:BOOL=ON, which
means this breaks until the sexpr lib target is explicitly
STATIC
2019-04-24 17:31:22 +01:00
John Beard 15bba27406 BITMAP_BASE: Add const image data accessor
This allows a const BITMAP_BASE to expose const image
data. This is currently done with const_casts, which is
"OK", only as long as the source image is not declared
const, in which case it's undefined behaviour.

Also immediately dereference the pointer to a reference
if it's not checked to make the non-null requirements
explicit at the point of access.
2019-04-24 17:31:22 +01:00
Jeff Young 5e556f0c6a Fix segfault when finishing a wire at a connection point. 2019-04-24 14:43:10 +01:00
Jeff Young e046e8f593 Fix crash when <esc>ing from Hierarchical Sheet drawing tool. 2019-04-24 13:43:46 +01:00
John Beard e687d14903 Remove useless const_casts
Both versions of EDA_DRAW_FRAME::isBusy have a useless const_cast.

GetScreen() const returns a non-const SCH_SCREEN already, it doesn't
need to be cast, and it's stored in const SCH_SCREEN anyway.
2019-04-24 09:46:01 +01:00
Jeff Young d281f051ed Move eeschema delete tool to modern toolset. 2019-04-23 14:19:55 +01:00
Jeff Young a967adbf26 Don't toggle selection twice when trying to select.
Also fixes issues with trying to use a CONTEXT_MENU as a wxMenu.
2019-04-23 14:19:55 +01:00
Tomasz Włostowski 9e00f48efc router: copy m_maxClearance when cloning/branching PNS::NODEs
Fixes: lp:1813328
* https://bugs.launchpad.net/kicad/+bug/1813328
2019-04-23 12:00:54 +02:00
Jeff Young b6674e3bcb Prevent segfault when running selection disambiguation menu. 2019-04-23 10:59:07 +01:00
Jon Evans ff6a8cd537 Revert "Remove UpdatePins call from connectivity calculation"
This reverts commit b351e70d13.

Causes crashes on entering subsheets; don't have time to debug yet
2019-04-22 23:31:11 -04:00
Jon Evans 782b8227fa Clean up connection message panel info 2019-04-22 22:58:41 -04:00
Jon Evans b351e70d13 Remove UpdatePins call from connectivity calculation 2019-04-22 22:49:24 -04:00
Jon Evans 62811d3209 Squish some warnings 2019-04-22 21:18:47 -04:00
Jeff Young c994961ebf Fix for SCH_PIN operator= from Simon Richter. 2019-04-23 00:27:59 +01:00
Jeff Young b03e9061ff Have another go at fixing 'w' command when wire tool is already active. 2019-04-23 00:11:26 +01:00
Jeff Young 0445a9913f Deactivate tool on block action.
Fixes: lp:1825855
* https://bugs.launchpad.net/kicad/+bug/1825855
2019-04-23 00:11:19 +01:00
Jeff Young f6d0166584 Don't exit wire tool at end of wire.
Fixes: lp:1825871
* https://bugs.launchpad.net/kicad/+bug/1825871
2019-04-22 22:13:47 +01:00
Jeff Young 1a007c3e4b Implement SCH_SELECTION_TOOL (but still with legacy semantics). 2019-04-22 22:08:18 +01:00
Jeff Young e885d739a4 Simiplify VECTOR2 -> wxPoint conversions.
There has always been an operator specified, but it's explicit so
most folks don't notice it.
2019-04-22 22:08:18 +01:00
Jeff Young 8e812c012d Second activation of wire or bus tool should start drawing.
Fixes: lp:1825871
* https://bugs.launchpad.net/kicad/+bug/1825871
2019-04-22 22:08:18 +01:00
Jeff Young 17b3b8f30d Fix wandering text problem.
Setting a variable on a temp copy doesn't do much of use.

Fixes: lp:1825853
* https://bugs.launchpad.net/kicad/+bug/1825853
2019-04-22 22:08:18 +01:00
Jeff Young 5e2cf51309 Improve robustness of SCH_PIN storage architecture.
In particular, allow short-term storage of pointers to SCH_PINs.
2019-04-22 11:19:43 +01:00
Jeff Young a461eae8b9 Fix 100s of usages of GetFlags() which conflated != 0 with being edited.
While this was true long ago, many flags have been added since which
have nothing to do with editing (HIGHLIGHTED, BEGIN_ONPAD, etc.)
2019-04-22 09:58:06 +01:00
Jeff Young 64ba866146 Fix ignoreMouseEvents getting stuck in drawing tool.
Fixes: lp:1825613
* https://bugs.launchpad.net/kicad/+bug/1825613
2019-04-22 09:32:57 +01:00