diff options
author | David Robillard <d@drobilla.net> | 2016-09-18 21:29:30 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2016-09-29 16:04:19 -0400 |
commit | a7f83c70733288ee9efee5c08330fbdf638446db (patch) | |
tree | 33c1d507d39a2a642f20498a52eb0c5225cfde43 /src/server/UndoStack.cpp | |
parent | b40326d759a9b4b2db7eb930f9a32403d4a9227f (diff) | |
download | ingen-a7f83c70733288ee9efee5c08330fbdf638446db.tar.gz ingen-a7f83c70733288ee9efee5c08330fbdf638446db.tar.bz2 ingen-a7f83c70733288ee9efee5c08330fbdf638446db.zip |
Atomic bundle execution
Diffstat (limited to 'src/server/UndoStack.cpp')
-rw-r--r-- | src/server/UndoStack.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/server/UndoStack.cpp b/src/server/UndoStack.cpp index 77d26871..87391bc7 100644 --- a/src/server/UndoStack.cpp +++ b/src/server/UndoStack.cpp @@ -32,7 +32,7 @@ namespace Ingen { namespace Server { -void +int UndoStack::start_entry() { if (_depth == 0) { @@ -40,7 +40,7 @@ UndoStack::start_entry() time(&now); _stack.push_back(Entry(now)); } - ++_depth; + return ++_depth; } bool @@ -80,11 +80,11 @@ UndoStack::ignore_later_event(const LV2_Atom* first, return false; } -void +int UndoStack::finish_entry() { if (--_depth > 0) { - return; + return _depth; } else if (_stack.back().events.empty()) { // Disregard empty entry _stack.pop_back(); @@ -98,6 +98,8 @@ UndoStack::finish_entry() } } } + + return _depth; } UndoStack::Entry |