From e905534ea635637a803981a292869cde585f8239 Mon Sep 17 00:00:00 2001 From: Peter Conrad Date: Sun, 6 Aug 2017 14:20:04 +0200 Subject: [PATCH] Fixed undo_database --- libraries/db/undo_database.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libraries/db/undo_database.cpp b/libraries/db/undo_database.cpp index b37b2c7d..c5f2ef65 100644 --- a/libraries/db/undo_database.cpp +++ b/libraries/db/undo_database.cpp @@ -118,8 +118,6 @@ void undo_database::undo() _db.insert( std::move(*item.second) ); _stack.pop_back(); - if( _stack.empty() ) - _stack.emplace_back(); enable(); --_active_sessions; } FC_CAPTURE_AND_RETHROW() } @@ -127,6 +125,12 @@ void undo_database::undo() void undo_database::merge() { FC_ASSERT( _active_sessions > 0 ); + if( _active_sessions == 1 && _stack.size() == 1 ) + { + _stack.pop_back(); + --_active_sessions; + return; + } FC_ASSERT( _stack.size() >=2 ); auto& state = _stack.back(); auto& prev_state = _stack[_stack.size()-2];