Revision 99a3ac6f8bb5fb40db00e8991a9505c00c0462c5 authored by Philippe Canal on 28 February 2008, 15:31:01 UTC, committed by Philippe Canal on 28 February 2008, 15:31:01 UTC
Correct the logic that is avoiding the storing of TStreamerInfo for std::string
and the STL collection in ForceWriteInfo.  Now ForceWriteInfo always ignore the
request when the TStreamerInfo itself is for string or STL container.
The previous implementation was only ignoring the request for the TStreamerElement
that were string or STL container.

In TBranchElement::Streamer when writing, call ForceWriteInfo
not only for the TStreamerInfo directly concerning this branch
but also (in the case of the top level branch of a split TClonesArray
or a split STL container) call ForceWriteInfo for the class of
the value.

In addition, the previous implementation was overzealous and was inadvertently 
ignoring the request for TStreamerElement pointing at any class containing the
STL container names AND any class which had :: in them.  In particular this
meant that slow CloneTree was (fataly) missing the copy of the TStreamerInfo
for class that are part of the TTree but had only a base and no member or in 
some cases where it had only object data members.


git-svn-id: http://root.cern.ch/svn/root/branches/v5-14-00-patches@22394 27541ba8-7e3a-0410-8455-c3a389f83636
1 parent 2b9abad
History
File Mode Size
inc
src
Module.mk -rw-r--r-- 1.8 KB

back to top