From a7f83c70733288ee9efee5c08330fbdf638446db Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 18 Sep 2016 21:29:30 -0400 Subject: Atomic bundle execution --- src/server/UndoStack.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/server/UndoStack.cpp') 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 -- cgit v1.2.1