Merge pull request #96 from Laupetin/fix/recursive-marking

fix: recursive marking
This commit is contained in:
Jan 2024-01-23 19:41:53 +01:00 committed by GitHub
commit 50d4282b54
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -13,6 +13,9 @@ bool MarkingRequiredPostProcessor::RequiresMarking(std::unordered_set<const void
visitedStructures.emplace(info);
if (info->m_asset_enum_entry)
return true;
for (const auto& member : info->m_ordered_members)
{
// If there is a condition to this member, and it always evaluates to false: Skip this member
@ -39,7 +42,7 @@ bool MarkingRequiredPostProcessor::RequiresMarking(std::unordered_set<const void
continue;
// Any ScriptStrings or Strings need to be processed.
if (member->m_is_script_string || member->m_is_string || member->m_type && member->m_type->m_asset_enum_entry)
if (member->m_is_script_string || member->m_type && member->m_type->m_asset_enum_entry)
return true;
if (member->m_type != nullptr && member->m_type != info && RequiresMarking(visitedStructures, member->m_type))