summaryrefslogtreecommitdiffstats
path: root/src/server/UndoStack.cpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2016-09-18 21:29:30 -0400
committerDavid Robillard <d@drobilla.net>2016-09-29 16:04:19 -0400
commita7f83c70733288ee9efee5c08330fbdf638446db (patch)
tree33c1d507d39a2a642f20498a52eb0c5225cfde43 /src/server/UndoStack.cpp
parentb40326d759a9b4b2db7eb930f9a32403d4a9227f (diff)
downloadingen-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.cpp10
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