Index: trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.cc
===================================================================
--- trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.cc	(revision 961)
+++ trunk/MagicSoft/Mars/meventdisp/MGCamDisplay.cc	(revision 991)
@@ -117,6 +117,8 @@
     plist->AddToList(pedest);
 
-    fEvtLoop->PreProcess();
-    GetTaskList()->Process();
+    fInitOk = fEvtLoop->PreProcess();
+
+    if (fInitOk)
+        GetTaskList()->Process();
 
     return geom;
@@ -177,5 +179,5 @@
 void MGCamDisplay::UpdateDisplay()
 {
-    if (!fDisplay)
+    if (!fInitOk)
         return;
 
Index: trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.cc
===================================================================
--- trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.cc	(revision 961)
+++ trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.cc	(revision 991)
@@ -333,5 +333,5 @@
                            const TGWindow *p, const TGWindow *main,
                            UInt_t w, UInt_t h)
-    : TGTransientFrame(p, main, w, h)
+    : TGTransientFrame(p, main, w, h), fInitOk(kFALSE)
 {
     //
@@ -398,4 +398,7 @@
 void MGEvtDisplay::ReadinEvent(UInt_t iEvt)
 {
+    if (!fInitOk)
+        return;
+
     Int_t buttons = 4;
     Int_t retval  = 0;
Index: trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.h
===================================================================
--- trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.h	(revision 961)
+++ trunk/MagicSoft/Mars/meventdisp/MGEvtDisplay.h	(revision 991)
@@ -51,4 +51,6 @@
     TGVerticalFrame  *fMidFrame;
 
+    Bool_t fInitOk;
+
     MParList  *GetParList() const;
     MTaskList *GetTaskList() const;
Index: trunk/MagicSoft/Mars/meventdisp/MGFadcDisp.cc
===================================================================
--- trunk/MagicSoft/Mars/meventdisp/MGFadcDisp.cc	(revision 961)
+++ trunk/MagicSoft/Mars/meventdisp/MGFadcDisp.cc	(revision 991)
@@ -125,6 +125,8 @@
     // preprocess eventloop and read in first event (process)
     //
-    fEvtLoop->PreProcess();
-    GetTaskList()->Process();
+    fInitOk = fEvtLoop->PreProcess();
+
+    if (fInitOk)
+        GetTaskList()->Process();
 
     //
@@ -168,4 +170,7 @@
 {
     MRawEvtData *data = GetEvent();
+
+    if (!data)
+        return;
 
     MRawEvtPixelIter pixel(data);
@@ -215,4 +220,7 @@
 void MGFadcDisp::UpdateDisplay()
 {
+    if (!fInitOk)
+        return;
+
     const Int_t lastsel = fPixelList->GetSelected();
 
