Jeff Young
f606679164
Proper numeric sorting for intersheet refs.
Also expunges the horrifically named std::remove and std::remove_if
(neither of which remove anything).
4 years ago
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
4 years ago
Michal Schulz
44978f00e3
Use compiler-agnostic designation of fall-through in switch/case.
5 years ago
Jon Evans
247da631f9
Revert "Fix typo and clean up leftover tracks"
This reverts commit ed66c0f14d .
Revert "Clean up co-linear tracks after finishing routing"
This reverts commit 1a102f03c0 .
More complex solution needed
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8526
5 years ago
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
5 years ago
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
5 years ago
Seth Hillbrand
d244c09680
Cleanup undo/redo
Mirror/Rotate/etc were all just "Change" items in the undo/redo stack.
This removes the old calls
5 years ago
Marek Roszko
b2e9f6987d
Split base_struct into eda_item and eda_rect
5 years ago
Mark Roszko
1082402b33
Convert UNDO_REDO_T to an enum class
5 years ago
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.
6 years ago
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.
7 years ago
Seth Hillbrand
76f151b4d8
Fix issue with prev d83cff63f
Corrected the new/delete idiom
8 years ago
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.
8 years ago
Tomasz Włostowski
9932ff32ae
refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future
8 years ago
Maciej Suminski
fe89fdfb24
Removed incorrectly defined assert
9 years ago
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.
9 years ago
Tomasz Włostowski
5c0edbabab
Fixes for the connectivity & board cleanup algorithms
9 years ago
Maciej Suminski
74b5858665
Fixed a crash when removing zones using the Global Deletion dialog
Fixes: lp:1635266
* https://bugs.launchpad.net/kicad/+bug/1635266
9 years ago
Maciej Suminski
6481ff75c9
Changed one of COMMIT::Stage() methods to COMMIT::Modified()
9 years ago
Maciej Suminski
65b1225231
Added CHT_DONE flag to COMMIT::Stage to skip add/remove step
9 years ago
Maciej Suminski
940765f4b3
COMMIT class: removed m_committed flag, added clear() and Empty() methods.
10 years ago
Maciej Suminski
b8350f037b
COMMIT: Added an interface to store items that already have a copy created.
10 years ago
Maciej Suminski
0223425d30
COMMIT: changed BOOST_FOREACH to for.
10 years ago
Maciej Suminski
dac7c5aa1f
Store parent object when creating a COMMIT.
10 years ago
Tomasz Wlostowski
9588a7974c
Added classes COMMIT & BOARD_COMMIT.
10 years ago