diff --git a/treeplayer/src/TTreePlayer.cxx b/treeplayer/src/TTreePlayer.cxx index d8fbeef65fd50b3a0304e5575ee84d3e95af81e6..5242bfd01e740ee66272755b599f35bc6537abd9 100644 --- a/treeplayer/src/TTreePlayer.cxx +++ b/treeplayer/src/TTreePlayer.cxx @@ -1,4 +1,4 @@ -// @(#)root/treeplayer:$Name: $:$Id: TTreePlayer.cxx,v 1.220 2006/07/05 17:29:05 pcanal Exp $ +// @(#)root/treeplayer:$Name: $:$Id: TTreePlayer.cxx,v 1.221 2006/07/06 08:29:46 brun Exp $ // Author: Rene Brun 12/01/96 /************************************************************************* @@ -371,6 +371,16 @@ TTree *TTreePlayer::CopyTree(const char *selection, Option_t *, Long64_t nentrie TTree *tree = fTree->CloneTree(0); if (tree == 0) return 0; + // The clone should not delete any shared i/o buffers. + TObjArray* branches = tree->GetListOfBranches(); + Int_t nb = branches->GetEntriesFast(); + for (Int_t i = 0; i < nb; ++i) { + TBranch* br = (TBranch*) branches->UncheckedAt(i); + if (br->InheritsFrom("TBranchElement")) { + ((TBranchElement*) br)->ResetDeleteObject(); + } + } + Long64_t entry,entryNumber; nentries = GetEntriesToProcess(firstentry, nentries);