Index: trunk/MagicSoft/Mars/mhist/MHCamera.cc
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHCamera.cc	(revision 2210)
+++ trunk/MagicSoft/Mars/mhist/MHCamera.cc	(revision 2216)
@@ -167,6 +167,7 @@
 //   -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
 
+#if ROOT_VERSION_CODE > ROOT_VERSION(3,05,00)
    if (fBuffer) return BufferFill(x,1);
-
+#endif
    const Int_t bin = (Int_t)x+1;
    AddBinContent(bin);
@@ -199,6 +200,7 @@
 //   -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
 
+#if ROOT_VERSION_CODE > ROOT_VERSION(3,05,00)
    if (fBuffer) return BufferFill(x,w);
-
+#endif
    const Int_t bin = (Int_t)x+1;
    AddBinContent(bin, w);
@@ -403,5 +405,7 @@
     // box with the histogram title
     ptitle->SetTextColor(gStyle->GetTitleTextColor());
+#if ROOT_VERSION_CODE > ROOT_VERSION(3,05,00)
     ptitle->SetTextFont(gStyle->GetTitleFont(""));
+#endif
     ptitle->Paint();
 }
@@ -412,6 +416,8 @@
 //                       ========================
    //if (Hoption.Same) return;
+#if ROOT_VERSION_CODE > ROOT_VERSION(3,05,00)
     if (TestBit(kNoTitle))
         return;
+#endif
 
     const Int_t nt = strlen(GetTitle());
@@ -460,12 +466,14 @@
 
     // box with the histogram title
+#if ROOT_VERSION_CODE > ROOT_VERSION(3,05,00)
     ptitle->SetFillColor(gStyle->GetTitleFillColor());
+    ptitle->SetTextFont(gStyle->GetTitleFont(""));
+    if (gStyle->GetTitleFont("")%10 > 2)
+        ptitle->SetTextSize(gStyle->GetTitleFontSize());
+#endif
     ptitle->SetFillStyle(gStyle->GetTitleStyle());
     ptitle->SetName("title");
     ptitle->SetBorderSize(gStyle->GetTitleBorderSize());
     ptitle->SetTextColor(gStyle->GetTitleTextColor());
-    ptitle->SetTextFont(gStyle->GetTitleFont(""));
-    if (gStyle->GetTitleFont("")%10 > 2)
-        ptitle->SetTextSize(gStyle->GetTitleFontSize());
     ptitle->AddText(GetTitle());
     ptitle->SetBit(kCanDelete);
@@ -654,5 +662,5 @@
     for (Int_t idx=0; idx<fNcells-2; idx++)
     {
-        Fill(idx, event[idx]); // FIXME: Slow!
+        Fill(idx, const_cast<TArrayD&>(event)[idx]); // FIXME: Slow!
         //fArray[idx+1]+=val;
 
@@ -690,5 +698,5 @@
     for (Int_t idx=0; idx<fNcells-2; idx++)
     {
-        if (event[idx]>threshold)
+        if (const_cast<TArrayD&>(event)[idx]>threshold)
             Fill(idx);
 
Index: trunk/MagicSoft/Mars/mhist/MHCamera.h
===================================================================
--- trunk/MagicSoft/Mars/mhist/MHCamera.h	(revision 2210)
+++ trunk/MagicSoft/Mars/mhist/MHCamera.h	(revision 2216)
@@ -68,5 +68,5 @@
     };
 
-    Bool_t IsUsed(Int_t idx) const { return TESTBIT(fUsed[idx], kIsUsed); }
+    Bool_t IsUsed(Int_t idx) const { return TESTBIT(const_cast<TArrayC&>(fUsed)[idx], kIsUsed); }
     void   SetUsed(Int_t idx)      { SETBIT(fUsed[idx], kIsUsed); }
     void   ResetUsed(Int_t idx)    { CLRBIT(fUsed[idx], kIsUsed); }
@@ -91,13 +91,16 @@
 
     // This is a trick to remove TH1 entries from the context menu
-    void Add(TF1 *h1, Double_t c1=1) { TH1::Add(h1, c1); }
-    void Add(const TH1 *h1, Double_t c1=1) { TH1::Add(h1, c1); }
-    void Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1) { TH1::Add(h1, h2, c1, c2); }
-    void Divide(TF1 *f1, Double_t c1=1) { TH1::Divide(f1, c1); }
-    void Divide(const TH1 *h1) { TH1::Divide(h1); }
-    void Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option="") { TH1::Divide(h1, h2, c1, c2, option); }
-    void Multiply(TF1 *h1, Double_t c1=1) { TH1::Multiply(h1, c1); }
-    void Multiply(const TH1 *h1) { TH1::Multiply(h1); }
-    void Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option="") { TH1::Multiply(h1, h2, c1, c2, option); }
+    /*
+     void Add(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1) { TH1::Add(h1, h2, c1, c2); }
+     void Add(TF1 *h1, Double_t c1=1) { TH1::Add(h1, c1); }
+     void Add(const TH1 *h1, Double_t c1=1) { TH1::Add(h1, c1); }
+     void Divide(TF1 *f1, Double_t c1=1) { TH1::Divide(f1, c1); }
+     void Divide(const TH1 *h1) { TH1::Divide(h1); }
+     void Divide(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option="") { TH1::Divide(h1, h2, c1, c2, option); }
+     void Multiply(TF1 *h1, Double_t c1=1) { TH1::Multiply(h1, c1); }
+     void Multiply(const TH1 *h1) { TH1::Multiply(h1); }
+     void Multiply(const TH1 *h1, const TH1 *h2, Double_t c1=1, Double_t c2=1, Option_t *option="") { TH1::Multiply(h1, h2, c1, c2, option); }
+     */
+
     void FitPanel() { TH1::FitPanel(); }
 
