Skip to content
Snippets Groups Projects
  1. Jul 17, 2006
  2. Jul 14, 2006
  3. Jul 13, 2006
    • Philippe Canal's avatar
      use the proper delete operator · d2ef4a36
      Philippe Canal authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@15800 27541ba8-7e3a-0410-8455-c3a389f83636
      d2ef4a36
    • Philippe Canal's avatar
    • Stefan Roiser's avatar
      Big commit after the cvs lock of release 5.12.00 · d436cba0
      Stefan Roiser authored
      - New function Scope::SubTypeByName(const std::string&) will lookup
        a sub type of a scope by it's unqualified name and return it if found
        For consistency the functions Scope::SubScopeByName,
        Scope::MemberTemplateByName and Scope::SubTypeTemplateByName were also
        added.
      
      - A type_info object for the Typedef is set to the underlying first type
        which is not a typedef at the first lookup.
      
      - A pointer to member type contains a Scope which it points to plus an API
        function Type::PointerToMemberScope to retrieve it was added.
      
      - Make the selection file option "transient='TRUE'" case insensitive.
      
      - The function ToType accepts the options "RAW" and "FINAL". "RAW" returns
        the type after removing all array, pointer, typedef information. "FINAL"
        returns the type without typedef info. Both types are calculated at first
        access and cached for later use.
      
      - ATTENTION change of behaviour: ToType will return either the underlying type
        or if not possible the current type. Before it returned the empty Type if
        no underlying type was available (e.g. for a Type representing a class).
      
      - unit tests for all changes added
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15798 27541ba8-7e3a-0410-8455-c3a389f83636
      d436cba0
    • Rene Brun's avatar
      From Wim: · ab1ee610
      Rene Brun authored
      Fix problem reported by Kazuyoshi Kurutaga at :
        http://root.cern.ch/root/roottalk/roottalk06/0941.html
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15797 27541ba8-7e3a-0410-8455-c3a389f83636
      ab1ee610
    • Philippe Canal's avatar
      disable the new object cleanup until we introduce a missing user interface · 1a82ed98
      Philippe Canal authored
      git-svn-id: http://root.cern.ch/svn/root/trunk@15796 27541ba8-7e3a-0410-8455-c3a389f83636
      1a82ed98
    • Philippe Canal's avatar
      From Paul Russo: · f20a1d12
      Philippe Canal authored
           o (LoadTree) We no longer delete clones from the trees in
             the chain, those trees still need to be able to synchronize
             their clones' branch addresses.  We now copy the chain's
             clone list into the newly fetched tree's clone list because
             it is the tree's destructor (which is called when we switch
             to the next file in the chain) that is responsible for
             resetting the addresses of the branches of the clone trees.
             If this is not done, the branches of the clone trees will
             be pointing at memory which was deallocated when the master
             tree was destroyed at the file switch.
      
           o (Merge) Improve documentation.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15795 27541ba8-7e3a-0410-8455-c3a389f83636
      f20a1d12
    • Philippe Canal's avatar
      From Paul Russo: · d5bad7b4
      Philippe Canal authored
           o Cloned trees should not have ownership
             of branch-allocated objects.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15794 27541ba8-7e3a-0410-8455-c3a389f83636
      d5bad7b4
    • Philippe Canal's avatar
      From Paul Russo: · 29f28b6e
      Philippe Canal authored
           o Correct some uses of TBranchElement::GetAddress()
             to TBranchElement::GetObject().
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15793 27541ba8-7e3a-0410-8455-c3a389f83636
      29f28b6e
    • Philippe Canal's avatar
      From Paul Russo: · 04632608
      Philippe Canal authored
           o (GetObjectAddress) Correct some uses of TBranchElement::GetAddress()
             to TBranchElement::GetObject().
      
           o (GetObjectAddress) Handle MakeClass trees properly.
      
           o (GetObjectAddress) Handle top-level branches correctly.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15792 27541ba8-7e3a-0410-8455-c3a389f83636
      04632608
    • Philippe Canal's avatar
      From Paul Russo: · cc090795
      Philippe Canal authored
           o (Destructor) It is no longer necessary to check for directory
             destructor in progress anymore.  Deleted pointers are set to zero.
      
           o Make sure stack variables are intialized before use in
             various member functions.
      
           o (CloneTree) Make sure the clone does not own any objects
             allocated by SetAddress().
      
           o (CopyAddresses) Use SetupAddresses() now instead of GetEntry().
      
           o (Fill) Avoid corrupting byte count on i/o error.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15791 27541ba8-7e3a-0410-8455-c3a389f83636
      cc090795
    • Philippe Canal's avatar
      From Paul Russo: · 2087d068
      Philippe Canal authored
           o (FillBasket) Add missing varying-length array handling.
      
           o (SetAddress) Improve documentation.
      
           o Added missing Get/Set Maximum/Minimum member functions.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15790 27541ba8-7e3a-0410-8455-c3a389f83636
      2087d068
    • Philippe Canal's avatar
      From Paul Russo: · 04e8cafb
      Philippe Canal authored
           o (Constructor) Remove 64 char length limit on branch name.
      
           o (ResetAddress) Improve documentation.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15789 27541ba8-7e3a-0410-8455-c3a389f83636
      04e8cafb
    • Philippe Canal's avatar
      From Paul Russo: · a1c986cd
      Philippe Canal authored
           o (SetAddress) Fixed.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15788 27541ba8-7e3a-0410-8455-c3a389f83636
      a1c986cd
    • Philippe Canal's avatar
      From Paul Russo: · 71b58367
      Philippe Canal authored
           o (SetAddress) Do not attempt to dereference a zero pointer.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15787 27541ba8-7e3a-0410-8455-c3a389f83636
      71b58367
    • Philippe Canal's avatar
      From Paul Russo: · d87b6c0a
      Philippe Canal authored
           o (Constructor) Initialize all data members in the
             proper order in the member intializer list.
      
           o (Destructor) Zero all freed pointers.
      
           o (Fill) Set released pointers to zero.
      
           o (GetEntry) Make sure all stack variables are initialized
             before use.
      
           o (GetEntryExport) Make sure all stack variables are initialized
             before use.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15786 27541ba8-7e3a-0410-8455-c3a389f83636
      d87b6c0a
    • Philippe Canal's avatar
      From Paul Russo: · c6021a7a
      Philippe Canal authored
           o (Constructor) Initialize all data members.
      
           o (Constructor), (InitializeOffsets), (SetAddress), (Unroll)
      
             Extensive additions to internal documentation.
      
           o (Constructor), (Unroll)
      
             Reorganized to interact through function parameters only.
      
           o (Destructor) Delete any object allocated by SetAddress(),
             which fixes the emulated class memory leak.
      
           o (Branch) Removed, unused junk code.
      
           o (CheckBranchID) Removed, no longer used.
      
           o (Fill)
      
             Check to make sure the user did not change the object
             pointer on us.
      
             Change usage of fAddress to check for an allocated
             object to use fObject instead.
      
             Do not corrupt the i/o byte count after an
             i/o error occurs.
      
           o (FillLeaves) Check to see if the user changed the
             object pointer.
      
           o (FillLeaves) Changed STL top-level branch logic so that
             the proxy helper which was used to get the size of the
             container is destroyed before the i/o begins, this helps
             reduce the number of stacked proxy helpers.
      
           o (GetAddress) New member function.  Override base class
             function so that we may catch the case where the user
             changed the object pointer without using SetAddress()
             to notify us.
      
           o (GetDataMemberOffset), (GetDataMemberOffsetEx)
      
             Removed,  implementation-only member functions which
             are no longer used.
      
           o (GetInfo) Made const and reorganized for clarity.
      
           o (GetEntry) Check to see if the user changed the object
             pointer.  Do proper error checking for container master
             branch i/o and terminal branch i/o, and do not corrupt
             the byte count on error, and exit with the error code
             on error.
      
           o (GetValue) Check to see if the user changed the address.
      
           o (InitializeOffsets) Rewritten using a much simpler and
             easier to understand algorithm.
      
           o (PrintValue) Check to see if the user changed the address.
      
           o Correct usage of fInfo to GetInfo() to support schema
             evolution in many places.
      
           o (ReleaseObject) New implementation-only member function.
             Used by ResetAddress() and SetAddress() to delete any
             objects which were allocated by a call to SetAddress().
      
           o (ResetAddress) Check if user changed the address on
             us and to release memory allocated by SetAddress().
      
           o (ResetDeleteObject) New member function.  Gives cloned
             trees a way of making themselves not the owner of the
             allocated object.
      
           o (SetAddress) Substantially rewritten, greatly extended
             documentation.
      
           o (SetAutoDelete) Removed, we can inherit it from TBranch.
      
           o (SetBranchCount) Issues warning messages on error
             conditions.
      
           o (SetupAddresses) Check to see if the user changed the
             object pointer.
      
           o (Streamer) Make sure to reset the object ownership bit
             on reading, right after a read we don't own anything.
      
           o (Unroll) Reorganized, extensively documented.
      
           o (ValidateAddress) New member function.  Checks to see
             if the user changed the object pointer without calling
             SetAddress(), and if so, calls SetAddress() for him.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15785 27541ba8-7e3a-0410-8455-c3a389f83636
      c6021a7a
    • Philippe Canal's avatar
      From Paul Russo: · 70821f21
      Philippe Canal authored
           o (fBranchPointer), (fBranchTypes)
      
             Removed, no longer used.
      
           o (BuildTitle), (SetBranchCount), (SetBranchCount2),
             (Unroll), (ValidateAddress)
      
             Convert to private member functions, they are
             implementation-only functions and should not be
             part of the public interface.
      
           o (Branch) Removed, unused junk code.
      
           o (CheckBranchID) Removed, no longer used.
      
           o (ReleaseObject) Added, implementation-only function used
             by SetAddress() and ResetAddress().
      
           o (GetAddress) Added override so that we may catch the
             case where the user changed the object pointer without
             notifying us with SetAddress().
      
           o (GetBranchOffset) Added so we can see full internals of
             the result of SetAddress().
      
           o (GetDataMemberOffset), (GetDataMemberOffsetEx)
      
             Removed, implementation-only member functions which
             are no longer used.
      
           o (GetInfo) Made const.
      
           o (GetObject) Made not inline so that we can make sure
             that the user did not change the object pointer without
             notifying us.
      
           o (IsObjectOwner) Added so that we can tell if the branch
             element owns the allocated object or not (if the element
             does then the user should not delete the object).
      
           o (Notify) Use SetAddress() to change fAddress to zero
             so that any allocated object may be released.
      
           o (ResetDeleteObject) Added so that cloned trees have a
             way of making themselves not the owner of the object
             allocated by SetAddress().
      
           o (SetAutoDelete) Removed, we don't implement it anymore
             since our implementation just called the TBranch
             implementation so we can just inherit it without
             overriding it.
      
           o (SetClassName), (SetParentName) Removed, users should
             not be allowed to change these data members, because
             they have complicated semantics tied to other class
             data members which would have to be changed to match
             and we should not allow the user to put us into an
             invalid state.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15784 27541ba8-7e3a-0410-8455-c3a389f83636
      70821f21
    • Philippe Canal's avatar
      From Paul Russo: · 8a0381a3
      Philippe Canal authored
           o Change version object repository to use a multimap
             because base classes make it necessary for us to
             register the same address more than once under
             different types.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15783 27541ba8-7e3a-0410-8455-c3a389f83636
      8a0381a3
    • Philippe Canal's avatar
      From Paul Russo: · 4c603dcc
      Philippe Canal authored
           o (Destructor) Now able to delete emulated objects.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15782 27541ba8-7e3a-0410-8455-c3a389f83636
      4c603dcc
    • Philippe Canal's avatar
      From Paul Russo: · f75dd668
      Philippe Canal authored
           o (Prev) Fixed.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15781 27541ba8-7e3a-0410-8455-c3a389f83636
      f75dd668
    • Philippe Canal's avatar
      From Paul Russo: · d1aef3d8
      Philippe Canal authored
           o (Close) No longer delays deleting objects the file owns
             through its associated directory, like trees and histograms.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15780 27541ba8-7e3a-0410-8455-c3a389f83636
      d1aef3d8
    • Philippe Canal's avatar
      From Paul Russo: · a3350d8f
      Philippe Canal authored
           o (Destructor), (Close), (DeleteAll) are now robust against
             the object list or the key list being corrupted by the
             destructors they call.
      
      
      git-svn-id: http://root.cern.ch/svn/root/trunk@15779 27541ba8-7e3a-0410-8455-c3a389f83636
      a3350d8f
  4. Jul 12, 2006
Loading