I am meeting several problems in ROOT:
1) problem with IdleTimer in TApplication (for ROOT2.00/09)
Yes, I can invoke TROOT::Idle to enable or disable system Idle Handling.
But gROOT.Idle(0,"printf(\"aap\\n\");") also invoke RemoveIdleTimer of
Application to disable system Idle Handling, in which fIdleTimer and
fIdleCommand are deleted.
//____________________________________________________________________________
void TApplication::RemoveIdleTimer()
{
// Remove idle timer. Normally called via TROOT::Idle(0).
if (fIdleTimer) {
// timers are removed from the gSystem timer list by their dtor
SafeDelete(fIdleTimer);
delete [] fIdleCommand;
}
}
In case I only want to toggle system Idle Handling after SetIdleTimer,
I prefer to using StartIdleing and StopIdleing in which fIdleTimer and
fIdleCommand would not be deleted. In the source code, it reads,
//____________________________________________________________________________
void TApplication::StartIdleing()
{
// Call when system starts idleing.
if (fIdleTimer) {
fIdleTimer->Reset();
gSystem->AddTimer(fIdleTimer);
}
}
//____________________________________________________________________________
void TApplication::StopIdleing()
{
// Call when system stops idleing.
if (fIdleTimer)
gSystem->RemoveTimer(fIdleTimer);
}
But it does not work as expected in the source code.
2) Problem with TMarker3DBox::Draw (for ROOT2.00/09)
When the size of TMarker3DBox is quite large, its position in drawing is
a little shifted, the larger its size is, the more shift is.
3) Problem with rootcint at Linux for ROOT2.00/10 and 11
It always leads to "Segmentation fault" when invoking rootcint to
generate dictionary. The example I tried is "rootcint -f EventCint.cxx -c
Event.h LinkDef.h" which is in $ROOTSYS/test. The systems I tested are
RedHat4.1 and S.u.S.E-5.3
Thanks for attention --Shuwei
On Fri, 28 Aug 1998, Fons Rademakers wrote:
> Hi ye,
>
> use the idle timer via the TROOT::Idle() interface (and see there also
> how the StartIdleing() and StopIdleing() should be used). Example:
>
> gROOT.Idle(1,"printf(\"aap\\n\");")
>
> to disable:
>
> gROOT.Idle(0,"printf(\"aap\\n\");")
>
> Cheers, Fons.
>
>
> Ye Shuwei wrote:
> >
> >
> > In addition, I found that TApplication::StartIdleing() and StopIdleing()
> > do not work under interactive ROOT, I have not checked for batch mode. So I
> > have to use RemoveIdleTimer each time when I want to stop the IdleTimer, and
> > use SetIdleTimer to restart IdleTimer. I checked the corresponding source
> > code, it should work.
> >
> > Best regards --Shuwei
>
> --
> Org: CERN, European Laboratory for Particle Physics.
> Mail: 1211 Geneve 23, Switzerland Phone: +41 22 7679248
> E-Mail: Fons.Rademakers@cern.ch Fax: +41 22 7677910
>