diff --git a/core/meta/src/TProtoClass.cxx b/core/meta/src/TProtoClass.cxx index e1cd6186f3a49b78dff9893fa0c1b2fecde67982..f0b6dea1b2b45cd234f634e4a7d2ab6e0db3c46c 100644 --- a/core/meta/src/TProtoClass.cxx +++ b/core/meta/src/TProtoClass.cxx @@ -202,6 +202,9 @@ void TProtoClass::Delete(Option_t* opt /*= ""*/) { //////////////////////////////////////////////////////////////////////////////// /// Move data from this TProtoClass into cl. +/// Returns 'false' if nothing was done. This can happen in the case where +/// there is more than one dictionary for the same entity. Note having +/// duplicate dictionary is acceptable for namespace or STL collections. Bool_t TProtoClass::FillTClass(TClass* cl) { if (cl->fRealData || cl->fBase || cl->fData || cl->fEnums.load() @@ -217,12 +220,12 @@ Bool_t TProtoClass::FillTClass(TClass* cl) { // which is part of libCore proper. if (gDebug > 0) Info("FillTClass", "Returning w/o doing anything. %s is a STL collection.",cl->GetName()); - return kTRUE; + return kFALSE; } if (cl->Property() & kIsNamespace) { if (gDebug > 0) Info("FillTClass", "Returning w/o doing anything. %s is a namespace.",cl->GetName()); - return kTRUE; + return kFALSE; } Error("FillTClass", "TClass %s already initialized!", cl->GetName()); return kFALSE;