Hi Thomas, fix now in cvs. Cheers, Fons. On Wed, 2003-10-22 at 20:10, Thomas Bretz wrote: > Hi Fons, > > in principal yes... What I have is something like: > > main() > { > cout << (int)gROOT->IsBatch() << endl; > TGApplication app; > if (gROOT->IsBatch()) > gROOT->SetBatch(kFALSE); > new MyTGMainFrame; > app.Run(); > } > > The global TROOT object is already instantialted when I start this > application (I don't kown why - you may no it better than me). If > DISPLAY is not set correctly gROOT->IsBatch() returns 1 (because the > constructor of TROOT initializes BATCH mode to 1 if DISPLAY is > incorrect. But the constructor of TGApplication 'fixes' the DISPLAY > variable - without resetting the BATCH-mode flag. Now I may have a valid > connection to an X-Server but my application still assumes that we are > running in BATCH mode. > > For me this behaviour is not clear... > > Best regards, > Thomas. > > Fons Rademakers wrote: > > Thomas, > > > > if the DISPLAY variable is incorrect set you now get the > > > > Error in <TGClient::TGClient>: can't open display "bla:0.0", bombing... > > > > message. Do I understand you want to switch to batch mode in case the > > system could not connect to the X server? > > > > Cheers, Fons. > > > > > > On Tue, 2003-10-21 at 14:24, Thomas Bretz wrote: > > > >>Hi, > >> > >>I found out, that if the DISPLAY variable is not correctly set my > >>application crashes. Searching for the reason I realized, that in the > >>main function gROOT is already set. From the constructor of the TROOT I > >>learned, that Batch-mode is enabled if DISPLAY is not set. So I > >>instantiate a TGApplication object afterwards, which sets the DISPLAY > >>variable in case it is not yet set (calling gSystem->SetDisplay) before > >>instantiating a TGClient object. Wouldn't it be a good idea to reset the > >>batch mode in the case setting the display was successfull? Otherwise I > >>have to reset it manually... > >> > >>Best regards, > >>Thomas. -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://www.rademakers.org/fons/ Fax: +41 22 7679480
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET