diff --git a/base/inc/TROOT.h b/base/inc/TROOT.h index f1244a926bfe53cd3afa2d2c93cc79d931da7b53..05327ba32e0fa70194697f3c9e0f0ff6793346c3 100644 --- a/base/inc/TROOT.h +++ b/base/inc/TROOT.h @@ -1,4 +1,4 @@ -// @(#)root/base:$Name: $:$Id: TROOT.h,v 1.5 2000/09/05 10:55:30 brun Exp $ +// @(#)root/base:$Name: $:$Id: TROOT.h,v 1.6 2000/09/08 07:34:50 brun Exp $ // Author: Rene Brun 08/12/94 /************************************************************************* @@ -71,7 +71,7 @@ protected: Bool_t fEditHistograms; //True if histograms can be edited with the mouse Bool_t fFromPopUp; //True if command executed from a popup menu Bool_t fMustClean; //True if object destructor scans canvases - Bool_t fReadingBasket; //True while reading a basket buffer + Bool_t fReadingObject; //True while reading an object Bool_t fForceStyle; //Force setting of current style when reading objects Bool_t fInterrupt; //True if macro should be interrupted Int_t fEditorMode; //Current Editor mode @@ -182,7 +182,7 @@ public: void ProcessLineSync(const char *line); Long_t ProcessLineFast(const char *line); void Proof(const char *cluster = "proof"); - Bool_t ReadingBasket() {return fReadingBasket;} + Bool_t ReadingObject() {return fReadingObject;} void Reset(Option_t *option=""); void SaveContext(); void SetApplication(TApplication *app) { fApplication = app; } @@ -195,7 +195,7 @@ public: void SetInterrupt(Bool_t flag=kTRUE) { fInterrupt = flag; } void SetLineIsProcessing() { fLineIsProcessing++; } void SetLineHasBeenProcessed() {if (fLineIsProcessing) fLineIsProcessing--;} - void SetReadingBasket(Bool_t flag=kTRUE) {fReadingBasket = flag;} + void SetReadingObject(Bool_t flag=kTRUE) {fReadingObject = flag;} void SetMustClean(Bool_t flag=kTRUE) { fMustClean=flag; } void SetSelectedPrimitive(TObject *obj) { fPrimitive = obj; } void SetSelectedPad(TVirtualPad *pad) { fSelectPad = pad; } diff --git a/base/src/TKey.cxx b/base/src/TKey.cxx index 7e45c1b0d00372e546cc68453011a3c8010c8680..160826a334dd45b35ea6fa45a8112d7d32c30073 100644 --- a/base/src/TKey.cxx +++ b/base/src/TKey.cxx @@ -1,4 +1,4 @@ -// @(#)root/base:$Name: $:$Id: TKey.cxx,v 1.2 2000/05/24 10:31:47 brun Exp $ +// @(#)root/base:$Name: $:$Id: TKey.cxx,v 1.3 2000/09/05 09:21:22 brun Exp $ // Author: Rene Brun 28/12/94 /************************************************************************* @@ -430,6 +430,7 @@ TObject *TKey::ReadObj() return 0; } // Create an instance of this class + gROOT->SetReadingObject(kTRUE); obj = (TObject*)cl->New(); if (!obj) { Error("ReadObj", "Cannot create new object of class %s", fClassName.Data()); @@ -458,6 +459,7 @@ TObject *TKey::ReadObj() } else { obj->Streamer(*fBufferRef); } + gROOT->SetReadingObject(kFALSE); if (gROOT->GetForceStyle()) obj->UseCurrentStyle(); @@ -539,7 +541,7 @@ void TKey::ReadBuffer(char *&buffer) fClassName.ReadBuffer(buffer); fName.ReadBuffer(buffer); fTitle.ReadBuffer(buffer); - if (!gROOT->ReadingBasket()) { + if (!gROOT->ReadingObject()) { if (fSeekPdir != gDirectory->GetSeekDir()) gDirectory->AppendKey(this); } } diff --git a/base/src/TROOT.cxx b/base/src/TROOT.cxx index 6aa69ab2545a10f93d2185ea5afd62e2387a5422..623a42fd94d691a8a8bb07e0e8c22a8465113d56 100644 --- a/base/src/TROOT.cxx +++ b/base/src/TROOT.cxx @@ -1,4 +1,4 @@ -// @(#)root/base:$Name: $:$Id: TROOT.cxx,v 1.14 2000/09/08 07:34:50 brun Exp $ +// @(#)root/base:$Name: $:$Id: TROOT.cxx,v 1.15 2000/09/08 16:05:20 rdm Exp $ // Author: Rene Brun 08/12/94 /************************************************************************* @@ -283,7 +283,7 @@ TROOT::TROOT(const char *name, const char *title, VoidFuncPtr_t *initfunc) fForceStyle = kFALSE; fFromPopUp = kFALSE; - fReadingBasket = kFALSE; + fReadingObject = kFALSE; fInterrupt = kFALSE; fMustClean = kTRUE; fPrimitive = 0; diff --git a/gpad/src/TCanvas.cxx b/gpad/src/TCanvas.cxx index 6ebc61e89cc9360da711066e240197676153d2db..123acb9686fa45bb2906578edfe2e0a7179bbf4c 100644 --- a/gpad/src/TCanvas.cxx +++ b/gpad/src/TCanvas.cxx @@ -1,4 +1,4 @@ -// @(#)root/gpad:$Name: $:$Id: TCanvas.cxx,v 1.9 2000/09/08 16:05:21 rdm Exp $ +// @(#)root/gpad:$Name: $:$Id: TCanvas.cxx,v 1.10 2000/09/11 06:18:24 brun Exp $ // Author: Rene Brun 12/12/94 /************************************************************************* @@ -119,7 +119,19 @@ TCanvas::TCanvas() : TPad() { // Canvas default constructor. - Constructor(); + if (gROOT->ReadingObject()) { + Constructor(); + } else { + const char *defcanvas = gROOT->GetDefCanvasName(); + char *cdef; + + TList *lc = (TList*)gROOT->GetListOfCanvases(); + if (lc->FindObject(defcanvas)) + cdef = StrDup(Form("%s_n%d",defcanvas,lc->GetSize()+1)); + else + cdef = StrDup(Form("%s",defcanvas)); + Constructor(cdef, cdef, 1); + } } //______________________________________________________________________________ diff --git a/gpad/src/TPad.cxx b/gpad/src/TPad.cxx index 73a44c8c5ac550e456432c170928eb6e75b2bc39..3ecd03a3607495a58a9dd8564dd39f02f5bc128e 100644 --- a/gpad/src/TPad.cxx +++ b/gpad/src/TPad.cxx @@ -1,4 +1,4 @@ -// @(#)root/gpad:$Name: $:$Id: TPad.cxx,v 1.14 2000/09/08 07:36:18 brun Exp $ +// @(#)root/gpad:$Name: $:$Id: TPad.cxx,v 1.15 2000/09/08 16:05:21 rdm Exp $ // Author: Rene Brun 12/12/94 /************************************************************************* @@ -4060,7 +4060,7 @@ void TPad::Streamer(TBuffer &b) // read objects and their drawing options // b >> fPrimitives; readLevel++; - gROOT->SetReadingBasket(kTRUE); + gROOT->SetReadingObject(kTRUE); fPrimitives = new TList; b >> nobjects; if (nobjects > 0) { @@ -4077,7 +4077,7 @@ void TPad::Streamer(TBuffer &b) gPad = padsav; } readLevel--; - gROOT->SetReadingBasket(kFALSE); + gROOT->SetReadingObject(kFALSE); //------------------------- if (v > 3) { b >> fExecs; diff --git a/hist/src/TH1.cxx b/hist/src/TH1.cxx index 75968732b60830ad3ece03061622019882c1ecfe..f0733627aec8419b47c08493fc4bf42dd6654db0 100644 --- a/hist/src/TH1.cxx +++ b/hist/src/TH1.cxx @@ -1,4 +1,4 @@ -// @(#)root/hist:$Name: $:$Id: TH1.cxx,v 1.22 2000/08/30 16:58:18 brun Exp $ +// @(#)root/hist:$Name: $:$Id: TH1.cxx,v 1.23 2000/09/08 16:05:21 rdm Exp $ // Author: Rene Brun 26/12/94 /************************************************************************* @@ -2939,7 +2939,7 @@ void TH1::Streamer(TBuffer &b) fOption.Streamer(b); fFunctions->Delete(); fFunctions->Streamer(b); - if (!gROOT->ReadingBasket()) { + if (!gROOT->ReadingObject()) { fDirectory = gDirectory; if (!gDirectory->GetList()->FindObject(this)) gDirectory->Append(this); } diff --git a/io/src/TKey.cxx b/io/src/TKey.cxx index 7e45c1b0d00372e546cc68453011a3c8010c8680..160826a334dd45b35ea6fa45a8112d7d32c30073 100644 --- a/io/src/TKey.cxx +++ b/io/src/TKey.cxx @@ -1,4 +1,4 @@ -// @(#)root/base:$Name: $:$Id: TKey.cxx,v 1.2 2000/05/24 10:31:47 brun Exp $ +// @(#)root/base:$Name: $:$Id: TKey.cxx,v 1.3 2000/09/05 09:21:22 brun Exp $ // Author: Rene Brun 28/12/94 /************************************************************************* @@ -430,6 +430,7 @@ TObject *TKey::ReadObj() return 0; } // Create an instance of this class + gROOT->SetReadingObject(kTRUE); obj = (TObject*)cl->New(); if (!obj) { Error("ReadObj", "Cannot create new object of class %s", fClassName.Data()); @@ -458,6 +459,7 @@ TObject *TKey::ReadObj() } else { obj->Streamer(*fBufferRef); } + gROOT->SetReadingObject(kFALSE); if (gROOT->GetForceStyle()) obj->UseCurrentStyle(); @@ -539,7 +541,7 @@ void TKey::ReadBuffer(char *&buffer) fClassName.ReadBuffer(buffer); fName.ReadBuffer(buffer); fTitle.ReadBuffer(buffer); - if (!gROOT->ReadingBasket()) { + if (!gROOT->ReadingObject()) { if (fSeekPdir != gDirectory->GetSeekDir()) gDirectory->AppendKey(this); } } diff --git a/tree/src/TBranch.cxx b/tree/src/TBranch.cxx index 048d4d1f0929a8dfc08df133023a08f31dc2af7a..9ffc0f20efbefc6c4e58cb165c15a9899e99e9bc 100644 --- a/tree/src/TBranch.cxx +++ b/tree/src/TBranch.cxx @@ -1,4 +1,4 @@ -// @(#)root/tree:$Name: $:$Id: TBranch.cxx,v 1.5 2000/09/05 09:21:24 brun Exp $ +// @(#)root/tree:$Name: $:$Id: TBranch.cxx,v 1.6 2000/09/06 07:17:49 brun Exp $ // Author: Rene Brun 12/01/96 /************************************************************************* @@ -887,7 +887,7 @@ void TBranch::Streamer(TBuffer &b) if (b.IsReading()) { gBranch = this; fTree = gTree; - gROOT->SetReadingBasket(kTRUE); + gROOT->SetReadingObject(kTRUE); Version_t v = b.ReadVersion(&R__s, &R__c); TNamed::Streamer(b); b >> fCompress; @@ -929,7 +929,7 @@ void TBranch::Streamer(TBuffer &b) if (fFileName.Length() != 0) fDirectory = 0; } if (v < 4) SetAutoDelete(kTRUE); - gROOT->SetReadingBasket(kFALSE); + gROOT->SetReadingObject(kFALSE); b.CheckByteCount(R__s, R__c, TBranch::IsA()); } else { R__c = b.WriteVersion(TBranch::IsA(), kTRUE);