Index: trunk/Mars/mbase/MDirIter.cc
===================================================================
--- trunk/Mars/mbase/MDirIter.cc	(revision 19719)
+++ trunk/Mars/mbase/MDirIter.cc	(revision 19720)
@@ -139,5 +139,6 @@
 
     // Create an iterator to iterate over all entries in the directory
-    MDirIter NextD(dir);
+    MDirIter NextD;
+    NextD.AddDirectory(dir);
 
     TString c;
@@ -159,5 +160,5 @@
 // Add a single file to the iterator
 //
-Int_t MDirIter::AddFile(const char *name)
+Int_t MDirIter::AddFile(const char *name, Int_t rec)
 {
     return AddDirectory(gSystem->DirName(name), gSystem->BaseName(name));
Index: trunk/Mars/mbase/MDirIter.h
===================================================================
--- trunk/Mars/mbase/MDirIter.h	(revision 19719)
+++ trunk/Mars/mbase/MDirIter.h	(revision 19720)
@@ -38,8 +38,13 @@
             AddDirectory(o->GetName(), o->GetTitle());
     }
-    MDirIter(const char *dir, const char *filter="", Int_t rec=0) : fNext(&fList), fDirPtr(NULL)
+    MDirIter(const char *dir, const char *filter, Int_t rec=0) : fNext(&fList), fDirPtr(NULL)
     {
         fList.SetOwner();
         AddDirectory(dir, filter, rec);
+    }
+    MDirIter(const char *dir, Int_t rec=0) : fNext(&fList), fDirPtr(NULL)
+    {
+        fList.SetOwner();
+        AddFile(dir, rec);
     }
     ~MDirIter()
@@ -52,5 +57,5 @@
 
     Int_t AddDirectory(const char *dir, const char *filter="", Int_t recursive=0);
-    Int_t AddFile(const char *name);
+    Int_t AddFile(const char *name, Int_t rec=0);
     void  Add(const MDirIter &iter);
     void  Reset();
