fix memory leak on master
authorjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 22 Jul 2008 08:18:37 +0000 (08:18 +0000)
committerjgrosseo <jgrosseo@f7af4fe6-9843-0410-8265-dc069ae4e863>
Tue, 22 Jul 2008 08:18:37 +0000 (08:18 +0000)
ANALYSIS/AliAnalysisDataContainer.cxx

index 956d349..46e7f39 100644 (file)
@@ -434,6 +434,8 @@ Long64_t AliAnalysisDataWrapper::Merge(TCollection *list)
    if (!fData) return 0;
    if (!list || list->IsEmpty()) return 1;
 
+   SetDeleteData();
+
    TMethodCall callEnv;
    if (fData->IsA())
       callEnv.InitWithPrototype(fData->IsA(), "Merge", "TCollection*");
@@ -449,6 +451,7 @@ Long64_t AliAnalysisDataWrapper::Merge(TCollection *list)
    Int_t count = 0; // object counter
    // printf("Wrapper %s 0x%lx (data=%s) merged with:\n", GetName(), (ULong_t)this, fData->ClassName());
    while ((cont=(AliAnalysisDataWrapper*)next1())) {
+      cont->SetDeleteData();
       TObject *data = cont->Data();
       if (!data) continue;
       // printf("   - %s 0x%lx (data=%s)\n", cont->GetName(), (ULong_t)cont, data->ClassName());