]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliRunLoader.cxx
Fix for coverity
[u/mrichter/AliRoot.git] / STEER / AliRunLoader.cxx
index 088544c601d8716517bc90b704ab242c6ef15a6c..3e0f17257a7f1130e6acc91f33258732431c148a 100644 (file)
@@ -128,11 +128,11 @@ AliRunLoader::AliRunLoader(const char* eventfoldername):
 AliRunLoader::~AliRunLoader()
 {
 //dtor
-  if (fgRunLoader == this) fgRunLoader = 0x0;
+
   
   UnloadHeader();
   UnloadgAlice();
-  
+  if (fgRunLoader == this) fgRunLoader = 0x0;  
   if(fLoaders) {
     fLoaders->SetOwner();
     delete fLoaders;
@@ -146,7 +146,6 @@ AliRunLoader::~AliRunLoader()
   
   //fEventFolder is deleted by the way of removing - TopAliceFolder owns it
   if( fCTrigger ) delete  fCTrigger;
-  delete fHeader;
   delete fStack;
   delete fGAFile;
 }
@@ -621,7 +620,9 @@ void AliRunLoader::MakeTree(Option_t *option)
       // create the CTP Trigger output file and tree
       TFile* file = gROOT->GetFile( fgkDefaultTriggerFileName );
       if( !file ) {
-         file = TFile::Open( gSystem->ConcatFileName( fUnixDirName.Data(), fgkDefaultTriggerFileName.Data() ), "RECREATE" ) ;
+        char* tmp = gSystem->ConcatFileName( fUnixDirName.Data(), fgkDefaultTriggerFileName.Data() );
+        file = TFile::Open(tmp , "RECREATE" ) ;
+        delete[] tmp;
       }
 
       file->cd();
@@ -718,9 +719,10 @@ Int_t AliRunLoader::LoadHeader()
 Int_t AliRunLoader::LoadTrigger(Option_t* option)
 {
    //Load treeCT
-
+   static Bool_t warned = kFALSE;
    if( TreeCT() ) {
-      AliWarning("Trigger is already loaded. Nothing done");
+      if (!warned) AliWarning("Trigger is already loaded. Nothing done. Message will not be repeated.");
+      warned = kTRUE;
       return 0;
    }
  
@@ -729,8 +731,11 @@ Int_t AliRunLoader::LoadTrigger(Option_t* option)
       return 1;
    }
    // get the CTP Trigger output file and tree
-   TString trgfile = gSystem->ConcatFileName( fUnixDirName.Data(),
-                                              fgkDefaultTriggerFileName.Data() );
+  char* tmp = gSystem->ConcatFileName( fUnixDirName.Data(),
+                                      fgkDefaultTriggerFileName.Data() );
+  TString trgfile(tmp);
+  delete[] tmp;
+  
    TFile* file = gROOT->GetFile( trgfile );
    if( !file ) {
       file = TFile::Open( trgfile, option ) ;
@@ -1959,7 +1964,6 @@ void AliRunLoader::UnloadHeader()
  //removes TreeE from folder and deletes it
  // as well as fHeader object
  CleanHeader();
- delete fHeader;
  fHeader = 0x0;
 }
 /**************************************************************************/