Skip to content

Commit 2e5bbd3

Browse files
committed
[tree] Honour ObjectAutoRegistrationEnabled() in TEntryList.
TEntryList and its derived classes will from here on only register themselves to gDirectory when the thread-local auto-registration is enabled.
1 parent bb6b981 commit 2e5bbd3

2 files changed

Lines changed: 22 additions & 15 deletions

File tree

core/base/src/TROOT.cxx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -727,7 +727,7 @@ namespace Internal {
727727
/// | RooPlot | Yes | RooPlot::addDirectoryStatus() |
728728
/// | TEfficiency | Yes | No |
729729
/// | TProfile2D | Yes | TH1::AddDirectoryStatus() |
730-
/// | TEntryList | No, but planned for 6.42 | No |
730+
/// | TEntryList (+ derived)| Yes | No |
731731
/// | TEventList | Yes | No |
732732
/// | TFunction | No, but work in progress | No |
733733
///

tree/tree/src/TEntryList.cxx

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ End_Macro
160160
#include "TRegexp.h"
161161
#include "TSystem.h"
162162
#include "TObjString.h"
163-
163+
#include "TROOT.h"
164164

165165
////////////////////////////////////////////////////////////////////////////////
166166
/// default c-tor
@@ -172,10 +172,11 @@ TEntryList::TEntryList() = default;
172172

173173
TEntryList::TEntryList(const char *name, const char *title) : TNamed(name, title)
174174
{
175-
176-
fDirectory = gDirectory;
177-
if (fDirectory)
178-
fDirectory->Append(this);
175+
if (ROOT::Experimental::ObjectAutoRegistrationEnabled()) {
176+
fDirectory = gDirectory;
177+
if (fDirectory)
178+
fDirectory->Append(this);
179+
}
179180
}
180181

181182
////////////////////////////////////////////////////////////////////////////////
@@ -185,9 +186,11 @@ TEntryList::TEntryList(const char *name, const char *title, const TTree *tree) :
185186
{
186187
TEntryList::SetTree(tree);
187188

188-
fDirectory = gDirectory;
189-
if (fDirectory)
190-
fDirectory->Append(this);
189+
if (ROOT::Experimental::ObjectAutoRegistrationEnabled()) {
190+
fDirectory = gDirectory;
191+
if (fDirectory)
192+
fDirectory->Append(this);
193+
}
191194
}
192195

193196
////////////////////////////////////////////////////////////////////////////////
@@ -198,9 +201,11 @@ TEntryList::TEntryList(const char *name, const char *title, const char *treename
198201
{
199202
SetTree(treename, filename);
200203

201-
fDirectory = gDirectory;
202-
if (fDirectory)
203-
fDirectory->Append(this);
204+
if (ROOT::Experimental::ObjectAutoRegistrationEnabled()) {
205+
fDirectory = gDirectory;
206+
if (fDirectory)
207+
fDirectory->Append(this);
208+
}
204209
}
205210

206211
////////////////////////////////////////////////////////////////////////////////
@@ -210,9 +215,11 @@ TEntryList::TEntryList(const TTree *tree)
210215
{
211216
SetTree(tree);
212217

213-
fDirectory = gDirectory;
214-
if (fDirectory)
215-
fDirectory->Append(this);
218+
if (ROOT::Experimental::ObjectAutoRegistrationEnabled()) {
219+
fDirectory = gDirectory;
220+
if (fDirectory)
221+
fDirectory->Append(this);
222+
}
216223
}
217224

218225
////////////////////////////////////////////////////////////////////////////////

0 commit comments

Comments
 (0)