Index: trunk/MagicSoft/Mars/mbase/MEvtLoop.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MEvtLoop.cc	(revision 2206)
+++ trunk/MagicSoft/Mars/mbase/MEvtLoop.cc	(revision 2209)
@@ -180,4 +180,18 @@
 }
 #endif
+
+void MEvtLoop::SetDisplay(MStatusDisplay *d)
+{
+    MParContainer::SetDisplay(d);
+    if (!d)
+    {
+        fProgress=NULL;
+        return;
+    }
+
+    d->SetBit(kMustCleanup);
+    if (fParList)
+        fParList->SetDisplay(d);
+}
 
 // --------------------------------------------------------------------------
@@ -933,10 +947,5 @@
 
     if (obj==fDisplay)
-    {
-        if (fParList)
-            fParList->SetDisplay(NULL);
         SetDisplay(NULL);
-        fProgress = NULL;
-    }
 
     if (obj==fLog)
Index: trunk/MagicSoft/Mars/mbase/MEvtLoop.h
===================================================================
--- trunk/MagicSoft/Mars/mbase/MEvtLoop.h	(revision 2206)
+++ trunk/MagicSoft/Mars/mbase/MEvtLoop.h	(revision 2209)
@@ -51,4 +51,5 @@
 
     MStatusDisplay *GetDisplay() { return fDisplay; }
+    void SetDisplay(MStatusDisplay *d);
 
     void SetOwner(Bool_t enable=kTRUE);
