Re: [ROOT] Crashes running TRootEmbeddedCanvas in a Thread

From: Ilka Antcheva (Ilka.Antcheva@cern.ch)
Date: Mon Oct 06 2003 - 09:32:09 MEST


Hi Thomas,

How do you call thread2()?

Cheers, Ilka

Thomas Bretz wrote:

> Dear all,
>
> can somebody tell me, why the following piece of code (compiled) crashes?
> I'm using root 3.05/05. It does not crash if I create the Main Frame in
> the main-function (which is not possible in my application)
>
> Thomas.
> -----------------------------------------------------------------------
> #include <TGFrame.h>
> #include <TRootEmbeddedCanvas.h>
> void *thread2(void*)
> {
>     TGMainFrame *f=new TGMainFrame(gClient->GetRoot(), 100, 200);
>     TRootEmbeddedCanvas *c=new TRootEmbeddedCanvas("test", f,
> f->GetWidth() , f->GetHeight() ,0);
>
>     f->AddFrame(c, new TGLayoutHints(kLHintsExpandX|kLHintsExpandY));
>
>     f->Layout();
>     f->MapSubwindows();
>     f->MapWindow();
>     return 0;
> }
>
> int main(int argc, char **argv)
> {
>     TROOT simple("m", "m");
>     TApplication app("App", &argc, argv);
>
>     app.Run(kTRUE);
>
>     return 0;
> }



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET