Index: trunk/MagicSoft/Mars/mbase/MEvtLoop.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MEvtLoop.cc	(revision 4991)
+++ trunk/MagicSoft/Mars/mbase/MEvtLoop.cc	(revision 5030)
@@ -453,9 +453,13 @@
     UInt_t dummy   = maxcnt;
 
-    Int_t rc = kTRUE;
+    Int_t rc=kTRUE;
     if (maxcnt==0)
         // process first and increment if sucessfull
-        while ((rc=fTaskList->Process())==kTRUE)
+        while (1)
         {
+            rc=fTaskList->Process();
+            if (rc!=kTRUE && rc!=kCONTINUE)
+                break;
+
             numcnts++;
             if (!ProcessGuiEvents(++dummy))
@@ -464,6 +468,10 @@
     else
         // check for number and break if unsuccessfull
-        while (dummy-- && (rc=fTaskList->Process())==kTRUE)
+        while (dummy--)
         {
+            rc=fTaskList->Process();
+            if (rc!=kTRUE && rc!=kCONTINUE)
+                break;
+
             numcnts++;
             if (!ProcessGuiEvents(maxcnt - dummy))
Index: trunk/MagicSoft/Mars/mbase/MTaskList.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MTaskList.cc	(revision 4991)
+++ trunk/MagicSoft/Mars/mbase/MTaskList.cc	(revision 5030)
@@ -565,5 +565,5 @@
     // loop over all tasks for processing
     //
-    Bool_t rc = kTRUE;
+    Int_t rc = kTRUE;
     while ( (task=(MTask*)Next()) )
     {
@@ -610,5 +610,5 @@
             // something occured: skip the rest of the tasks for this event
             //
-            rc = kTRUE;
+            rc = kCONTINUE;
             break;
 
