Jon Evans
1a102f03c0
Clean up co-linear tracks after finishing routing
...
This involved adding some extra infrastructure to be able
to handle the case where a track that is sitting in the
router's commit waiting to be added to the board actually
needs to be deleted instead.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8419
2021-05-31 17:36:38 -04:00
Seth Hillbrand
8c2fe42ef0
More Undo/Redo Cleanup.
...
Don't need the reference point or container action type. Clearing this
command signatures to prevent future confusion/use
2021-02-12 11:26:48 -08:00
Seth Hillbrand
d244c09680
Cleanup undo/redo
...
Mirror/Rotate/etc were all just "Change" items in the undo/redo stack.
This removes the old calls
2021-02-12 10:25:14 -08:00
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
2020-10-13 21:24:50 -04:00
Mark Roszko
1082402b33
Convert UNDO_REDO_T to an enum class
2020-08-26 18:04:32 +00:00
jean-pierre charras
bc5dcf182f
keepout in footprint: fix some crashes and issues. Create a specific type (PCB_MODULE_ZONE_AREA_T) for zones in footprint. The new class (MODULE_ZONE_CONTAINER) is the same as ZONE_CONTAINER, but the type ID is PCB_MODULE_ZONE_AREA_T instead of PCB_ZONE_AREA_T.
...
This is mandatory because these zones must be handled differently in many functions.
2019-10-29 11:24:57 +01:00
Seth Hillbrand
c84752b9a7
commit: protect against un-copyable error
...
This creates early asserts for issues where we haven't fully implemented
a Clone() function for items or haven't correctly filtered them before
creating the undo/redo commit.
2019-02-16 13:28:45 -08:00
Seth Hillbrand
76f151b4d8
Fix issue with prev d83cff63f
...
Corrected the new/delete idiom
2018-06-27 16:40:57 -07:00
Seth Hillbrand
d83cff63f6
fix memory leak
...
When staging a commit for an object that has already been modified,
there is a Clone() made for the hypothetical entry. We need to free it
if we are not storing a new entry.
2018-06-27 16:15:27 -07:00
Tomasz Włostowski
9932ff32ae
refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future
2017-11-03 23:59:02 +01:00
Maciej Suminski
fe89fdfb24
Removed incorrectly defined assert
2017-07-19 13:05:30 +02:00
Maciej Suminski
984ac70106
Added COMMIT::GetStatus() and minor refactor
...
Moved duplicated code to a new function and added
an assert to warn against possible memory leak.
2017-07-19 10:46:10 +02:00
Tomasz Włostowski
5c0edbabab
Fixes for the connectivity & board cleanup algorithms
2017-06-23 11:12:38 +02:00
Maciej Suminski
74b5858665
Fixed a crash when removing zones using the Global Deletion dialog
...
Fixes: lp:1635266
* https://bugs.launchpad.net/kicad/+bug/1635266
2016-10-20 17:15:50 +02:00
Maciej Suminski
6481ff75c9
Changed one of COMMIT::Stage() methods to COMMIT::Modified()
2016-09-12 13:45:57 +02:00
Maciej Suminski
65b1225231
Added CHT_DONE flag to COMMIT::Stage to skip add/remove step
2016-09-12 13:45:57 +02:00
Maciej Suminski
940765f4b3
COMMIT class: removed m_committed flag, added clear() and Empty() methods.
2016-09-12 11:50:06 +02:00
Maciej Suminski
b8350f037b
COMMIT: Added an interface to store items that already have a copy created.
2016-09-12 11:50:06 +02:00
Maciej Suminski
0223425d30
COMMIT: changed BOOST_FOREACH to for.
2016-09-12 11:50:06 +02:00
Maciej Suminski
dac7c5aa1f
Store parent object when creating a COMMIT.
2016-09-12 11:50:06 +02:00
Tomasz Wlostowski
9588a7974c
Added classes COMMIT & BOARD_COMMIT.
2016-09-12 11:50:06 +02:00