Hi,
here is the example:
crash.C:
void crash(){
TGTextView* cond=new TGTextView(gClient->GetRoot());
cond->MapSubwindows();
cond->MapWindow();
cond->MoveResize(900,600,300,300);
cond->GetCanvas()->Connect("Destroyed()",NULL,NULL,"CloseWindow()");
TCanvas* c1=new TCanvas();
session where the canvas was closed in clicking the window close on the c1 canvas. Everything is nice and smooth.
produit_at_produit-dell:~/bla$ root
ROOT 5.26/00 (trunk_at_31882, Dec 14 2009, 20:18:36 on linux)
CINT/ROOT C/C++ Interpreter version 5.17.00, Dec 21, 2008 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }.
root [0] .L crash.C root [1] crash() root [2] Quitting by user request
session where the TGTextView was closed in clicking the window close on the TGTextView window. We get an error.
produit_at_produit-dell:~/bla$ root
ROOT 5.26/00 (trunk_at_31882, Dec 14 2009, 20:18:36 on linux)
CINT/ROOT C/C++ Interpreter version 5.17.00, Dec 21, 2008 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }.
root [0] .L crash.C root [1] crash() root [2] Error in <RootX11IOErrorHandler>: fatal X11 error (connectionto server lost?!)
root [2] .q
produit_at_produit-dell:~/bla$
On Wed, 2010-07-28 at 19:12 +0200, Bertrand Bellenot wrote:
> Hi Nicolas,
>
> You have to be careful when using signals slots with objects being
> destroyed, since the actual X window may already be gone and the slot
> still trying to access it...
> Anyway, it is hard to tell exactly what's going on with so little
> information. Could you provide a short running macro reproducing the
> problem?
>
> Cheers, Bertrand.
>
> On 7/28/2010 5:59 PM, Nicolas Produit wrote:
> > Hi,
> >
> > is it possible to Connect to a window close event of an object of type
> > TGTextView?
> >
> > I tried:
> >
> > cond=new TGTextView(gClient->GetRoot());
> > cond->MapSubwindows();
> > cond->MapWindow();
> > cond->MoveResize(900,600,300,300);
> > cond->GetCanvas()->Connect("Destroyed()","MonitorFrame",this,"CloseWindow()");
> >
> > this does not give error messages so it seems the Destroyed() signal
> > from the TQObject can be connected but then when killing the window I
> > get a:
> > Error in<RootX11IOErrorHandler>: fatal X11 error (connection to server
> > lost?!)
> > rather to a call to my subroutine (the subroutine work for connected
> > TCanvas on signal Closed())
> >
> > Thanks
> >
> >
>
-- Nicolas Produit ISDC, Data Centre for Astrophysics Phone:+41 22 379 2140 16, Chemin d'Ecogia Fax: +41 22 379 2133 CH-1290 Versoix www: http://isdc.unige.ch/~produitReceived on Thu Jul 29 2010 - 08:47:41 CEST
This archive was generated by hypermail 2.2.0 : Thu Jul 29 2010 - 17:50:02 CEST