Index: trunk/MagicSoft/Mars/Changelog
===================================================================
--- trunk/MagicSoft/Mars/Changelog	(revision 8676)
+++ trunk/MagicSoft/Mars/Changelog	(revision 8677)
@@ -18,4 +18,13 @@
 
                                                  -*-*- END OF LINE -*-*-
+
+ 2007/08/19 Thomas Bretz
+
+   * mbase/MStatusDisplay.cc:
+     - fixed the fix of the strange crashes. Now fBatch is added to
+       the ListOfCleanups instead of removing the newly created canvas
+       from the global list of canvases
+
+
 
  2007/08/18 Thomas Bretz
Index: trunk/MagicSoft/Mars/mbase/MStatusDisplay.cc
===================================================================
--- trunk/MagicSoft/Mars/mbase/MStatusDisplay.cc	(revision 8676)
+++ trunk/MagicSoft/Mars/mbase/MStatusDisplay.cc	(revision 8677)
@@ -702,4 +702,6 @@
     fBatch = new TList;
     fBatch->SetOwner();
+    fBatch->SetBit(kMustCleanup);
+    gROOT->GetListOfCleanups()->Add(fBatch);
 
     //
@@ -1011,5 +1013,5 @@
 {
     /*
-    if (HasCanvas(name))
+    if (GetCanvas(name))
     {
         *fLog << warn;
@@ -1025,7 +1027,4 @@
 
         TCanvas *c = new TCanvas(name, name, -cw, ch);
-
-        gROOT->GetListOfCanvases()->Remove(c);
-
         fBatch->Add(c);
         return *c;
Index: trunk/MagicSoft/Mars/mimage/MHHillas.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 8676)
+++ trunk/MagicSoft/Mars/mimage/MHHillas.cc	(revision 8677)
@@ -315,4 +315,6 @@
     pad->cd(1);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("WidthSame");
     RemoveFromPad("LengthSame");
@@ -321,8 +323,12 @@
     pad->cd(2);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("DistCSame");
     fDistC->Draw(same?"same":"");
 
     pad->cd(3);
+    gPad->SetGridx();
+    gPad->SetGridy();
     gPad->SetBorderMode(0);
     gPad->SetLogx();
@@ -333,4 +339,6 @@
     pad->cd(4);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     gPad->SetPad(0.51, 0.01, 0.99, 0.65);
     if (same)
@@ -361,4 +369,6 @@
     pad->cd(5);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("DeltaSame");
     fDelta->Draw(same?"same":"");
Index: trunk/MagicSoft/Mars/mimage/MHHillasExt.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillasExt.cc	(revision 8676)
+++ trunk/MagicSoft/Mars/mimage/MHHillasExt.cc	(revision 8677)
@@ -295,4 +295,6 @@
     pad->cd(1);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("M3lSame");
     RemoveFromPad("M3tSame");
@@ -301,4 +303,6 @@
     pad->cd(3);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("AsymmetrySame");
     fHAsym.Draw(same?"same":"");
@@ -306,4 +310,6 @@
     pad->cd(2);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     //RemoveFromPad("SlopeLSame");
     //fHSlopeL.Draw(same?"same":"");
Index: trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc	(revision 8676)
+++ trunk/MagicSoft/Mars/mimage/MHHillasSrc.cc	(revision 8677)
@@ -255,4 +255,6 @@
     pad->cd(1);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("AlphaSame");
     fAlpha->Draw(same?"same":"");
@@ -260,4 +262,6 @@
     pad->cd(2);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("DistSame");
     fDist->Draw(same?"same":"");
@@ -265,4 +269,6 @@
     pad->cd(3);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("DCASame");
     fDCA->Draw(same?"same":"");
@@ -270,4 +276,6 @@
     pad->cd(4);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
 
     TVirtualPad *p = gPad;
@@ -276,4 +284,6 @@
     p->cd(1);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("CosDASame");
     fCosDA->Draw(same?"same":"");
@@ -281,4 +291,6 @@
     p->cd(2);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("DCADeltaSame");
     fDCADelta->Draw(same?"same":"");
Index: trunk/MagicSoft/Mars/mimage/MHImagePar.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHImagePar.cc	(revision 8676)
+++ trunk/MagicSoft/Mars/mimage/MHImagePar.cc	(revision 8677)
@@ -259,4 +259,6 @@
     pad->cd(1);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("SatHiSame");
     RemoveFromPad("SatLoSame");
@@ -268,4 +270,6 @@
     pad->cd(4);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("SizeSubSame");
     RemoveFromPad("SizeMainSame");
@@ -277,4 +281,6 @@
     pad->cd(2);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     if (!same)
         pad->GetPad(2)->Divide(1,2,1e-10,1e-10);
@@ -293,4 +299,6 @@
     pad->cd(3);
     gPad->SetBorderMode(0);
+    gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("IslandsSame");
     fHistIslands.Draw(same?"same":"");
Index: trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc
===================================================================
--- trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc	(revision 8676)
+++ trunk/MagicSoft/Mars/mimage/MHNewImagePar.cc	(revision 8677)
@@ -378,4 +378,5 @@
     gPad->SetBorderMode(0);
     gPad->SetGridx();
+    gPad->SetGridy();
     TAxis &x = *fHistLeakage1.GetXaxis();
     x.SetRangeUser(0.0, x.GetXmax());
@@ -390,4 +391,5 @@
     gPad->SetBorderMode(0);
     gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("UsedPixSame");
     RemoveFromPad("CorePixSame");
@@ -397,4 +399,5 @@
     gPad->SetBorderMode(0);
     gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("CoreAreaSame");
     RemoveFromPad("UsedAreaSame");
@@ -410,4 +413,5 @@
     gPad->SetBorderMode(0);
     gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("Conc1Same");
     RemoveFromPad("Conc2Same");
@@ -417,4 +421,5 @@
     gPad->SetBorderMode(0);
     gPad->SetGridx();
+    gPad->SetGridy();
     RemoveFromPad("ConcCOGSame");
     RemoveFromPad("ConcCoreSame");
