-
Philippe Canal authored
of Emulated Object inheriting from compiled class). This avoids memory leaks when the user data model relies on polymorphism (and we are not using the library) and avoid splicing if the data is copied. Details: TStreamerInfo::New inserts the address of the creating TStreamerInfo into the object. This address is inserted in each emulated that does not inherit from an emulated class and is positioned after all the base classes (which are compiled classes). A derived class will set this value inside each of its emulated base class. TStreamerInfo::Destruct and the new method TStreamerInfo::GetActualClass use this information to detect the TStreamerInfo actually used to create the object and hence run the proper emulated destructor. In TFormLeafInfo which an issue where a data member which is an STL container was not properly found. git-svn-id: http://root.cern.ch/svn/root/trunk@32586 27541ba8-7e3a-0410-8455-c3a389f83636
Philippe Canal authoredof Emulated Object inheriting from compiled class). This avoids memory leaks when the user data model relies on polymorphism (and we are not using the library) and avoid splicing if the data is copied. Details: TStreamerInfo::New inserts the address of the creating TStreamerInfo into the object. This address is inserted in each emulated that does not inherit from an emulated class and is positioned after all the base classes (which are compiled classes). A derived class will set this value inside each of its emulated base class. TStreamerInfo::Destruct and the new method TStreamerInfo::GetActualClass use this information to detect the TStreamerInfo actually used to create the object and hence run the proper emulated destructor. In TFormLeafInfo which an issue where a data member which is an STL container was not properly found. git-svn-id: http://root.cern.ch/svn/root/trunk@32586 27541ba8-7e3a-0410-8455-c3a389f83636