From 2fd985f162792474f9fcf04d1a3ecd9b0e625ec6 Mon Sep 17 00:00:00 2001 From: chcurran Date: Tue, 15 Jun 2021 12:13:25 -0700 Subject: [PATCH] Fix for unconverted once nodes --- .../Code/Include/ScriptCanvas/Grammar/AbstractCodeModel.cpp | 6 ++++++ .../Code/Include/ScriptCanvas/Grammar/ParsingUtilities.cpp | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/AbstractCodeModel.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/AbstractCodeModel.cpp index bc07d16a7e..356ee22ba3 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/AbstractCodeModel.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/AbstractCodeModel.cpp @@ -3764,6 +3764,12 @@ namespace ScriptCanvas nextSlot = onceResetSlot; } + if (!nextSlot) + { + AddError(ID.m_node->GetEntityId(), once, "Once node missing next slot, likely needs replacement"); + return; + } + ParseExecutionTreeBody(nextParse, *nextSlot); nextParse->MarkDebugEmptyStatement(); } diff --git a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/ParsingUtilities.cpp b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/ParsingUtilities.cpp index 131209a521..0c92876e2c 100644 --- a/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/ParsingUtilities.cpp +++ b/Gems/ScriptCanvas/Code/Include/ScriptCanvas/Grammar/ParsingUtilities.cpp @@ -928,6 +928,7 @@ namespace ScriptCanvas { return execution->GetId().m_node && IsOnce(*execution->GetId().m_node) + && execution->GetId().m_slot && execution->GetId().m_slot->GetType() == CombinedSlotType::ExecutionIn; } @@ -938,7 +939,7 @@ namespace ScriptCanvas bool IsOnceReset(const Node& node, const Slot* slot) { - return slot = OnceProperty::GetResetSlot(&node); + return slot == OnceProperty::GetResetSlot(&node); } bool IsOperatorArithmetic(const ExecutionTreeConstPtr& execution)