Merge pull request #27339 from YeldhamDev/undoredo_merge_version

Fix 'UndoRedo' increasing its version on actions that should be merged
This commit is contained in:
Rémi Verschelde 2019-04-05 15:25:36 +02:00 committed by GitHub
commit 4141703b1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View file

@ -90,7 +90,7 @@ void UndoRedo::create_action(const String &p_name, MergeMode p_mode) {
actions.write[actions.size() - 1].last_tick = ticks;
merge_mode = p_mode;
merging = true;
} else {
Action new_action;
@ -250,6 +250,11 @@ void UndoRedo::commit_action() {
if (action_level > 0)
return; //still nested
if (merging) {
version--;
merging = false;
}
commiting++;
redo(); // perform action
commiting--;
@ -396,6 +401,7 @@ UndoRedo::UndoRedo() {
action_level = 0;
current_action = -1;
merge_mode = MERGE_DISABLE;
merging = false;
callback = NULL;
callback_ud = NULL;

View file

@ -80,6 +80,7 @@ private:
int current_action;
int action_level;
MergeMode merge_mode;
bool merging;
uint64_t version;
void _pop_history_tail();