diff --git a/app/widget/nodeview/nodeviewundo.cpp b/app/widget/nodeview/nodeviewundo.cpp index ca0a37b8a..f62f2a497 100644 --- a/app/widget/nodeview/nodeviewundo.cpp +++ b/app/widget/nodeview/nodeviewundo.cpp @@ -124,7 +124,7 @@ void NodeCopyInputsCommand::redo() Node::CopyInputs(src_, dest_, include_connections_); } -void NodeRemoveAndDisconnectCommand::prep() +void NodeRemoveAndDisconnectCommand::prepare() { command_ = new MultiUndoCommand(); diff --git a/app/widget/nodeview/nodeviewundo.h b/app/widget/nodeview/nodeviewundo.h index 2df7613b5..b661ce8da 100644 --- a/app/widget/nodeview/nodeviewundo.h +++ b/app/widget/nodeview/nodeviewundo.h @@ -95,8 +95,7 @@ public: NodeRemoveAndDisconnectCommand(Node* node) : node_(node), graph_(nullptr), - command_(nullptr), - prepped_(false) + command_(nullptr) { } @@ -110,13 +109,10 @@ public: return dynamic_cast(graph_); } + virtual void prepare() override; + virtual void redo() override { - if (!prepped_) { - prep(); - prepped_ = true; - } - command_->redo(); graph_ = node_->parent(); @@ -132,8 +128,6 @@ public: } private: - void prep(); - QObject memory_manager_; Node* node_; @@ -141,16 +135,13 @@ private: MultiUndoCommand* command_; - bool prepped_; - }; class NodeRemoveWithExclusiveDependenciesAndDisconnect : public UndoCommand { public: NodeRemoveWithExclusiveDependenciesAndDisconnect(Node* node) : node_(node), - command_(nullptr), - prepped_(false) + command_(nullptr) { } @@ -168,23 +159,7 @@ public: } } - virtual void redo() override - { - if (!prepped_) { - prep(); - prepped_ = true; - } - - command_->redo(); - } - - virtual void undo() override - { - command_->undo(); - } - -private: - void prep() + virtual void prepare() override { command_ = new MultiUndoCommand(); @@ -197,9 +172,19 @@ private: } } + virtual void redo() override + { + command_->redo(); + } + + virtual void undo() override + { + command_->undo(); + } + +private: Node* node_; MultiUndoCommand* command_; - bool prepped_; };