diff --git a/core/meta/src/TClass.cxx b/core/meta/src/TClass.cxx index e5c3d5cc22ccee0bdaab1c2bd5c1c1e6c56d3a99..29715e99bccf68a2a06c17aac219b0f78906c444 100644 --- a/core/meta/src/TClass.cxx +++ b/core/meta/src/TClass.cxx @@ -3854,6 +3854,15 @@ void TClass::GetMissingDictionariesWithRecursionCheck(TCollection& result, TColl return; } + if (TClassEdit::IsUniquePtr(fName)) { + const auto uniquePtrClName = TClassEdit::GetUniquePtrType(fName); + auto uniquePtrCl = TClass::GetClass(uniquePtrClName.c_str()); + if (uniquePtrCl && !uniquePtrCl->HasDictionary()) { + uniquePtrCl->GetMissingDictionariesWithRecursionCheck(result, visited, recurse); + } + return; + } + if (!HasDictionary()) { result.Add(this); }