Hi Alan
I just tried another thing as I was not feel comfortable by the fact that
apparently QtExtWidget is setup in the main window
but free in the driver
however just found out that in fact the plD_tidy_extqt( PLStream * pls
) is never reached.
I compiled the original qt_example that does not crash in my system against
a plplot build where i put
void plD_tidy_extqt( PLStream * pls )
{
printf("passei aqui 1\n");
QtExtWidget * widget = NULL;
widget = (QtExtWidget *) pls->dev;
if ( widget != NULL )
{
handler.DeviceClosed( widget );
delete widget;
pls->dev = NULL;
}
printf("passei aqui 2\n");
closeQtApp();
printf("passei aqui 3\n");
}
just to make sure i really had the right build
I also put
void plD_init_extqt( PLStream * pls )
{
printf("passei aqui 0\n");
....
....
so I run qt_example play with it for a while. close it without any crash
but in my terminal the only thing there was
artome@linux-z41u:~/libplplotNOchanged/share/plplot5.14.0/examples/c++>
./qt_example
passei aqui 0
artome@linux-z41u:~/libplplotNOchanged/share/plplot5.14.0/examples/c++>
so in fact there is something strange with this driver and even the
discussion either to drop closeQtApp(); call is pointless because
it seems never to occur.
In two months time I will look careful into this and eventually will add an
new driver based on qgraphicsview widget and storing things in vector
format.
cheers,
P.s.
just now I realize that there is portuguese text. So "passei aqui" means I
"reach this point", more or less.
On Sat, Dec 29, 2018 at 8:08 PM Alan W. Irwin <[email protected]>
wrote:
> On 2018-12-29 16:50-0000 António Rodrigues Tomé wrote:
>
> > Hi Alan
> > it is easy to put this in a more standard qt way where plot win is not
> > defined as a pointer and put win.show
> > replacing
> > // a.setActiveWindow( win );
> > // win->setVisible( true );
> > before the return a.exec()
> >
> > the fun thing is that in this case the program always crashes when one
> > closes the window. It crashes when the destructor
> > of PlotWindow::~PlotWindow() is called.
> > it crashes there even if you empty the destructor. so I would conclude
> > something very wrong with the extqt driver.
>
> My experience was the same. Any change I attempted caused reliable
> segfaults
> rather than rare segfaults. So I agree there is some flaw in the current
> extqt device.
>
> > I'll promise to have a look,
> > and probably completely replace it by something different as I do not
> like
> > it, unlike the others that are nice.
>
> That would be great when you have time for this.
>
> Alan
> __________________________
> Alan W. Irwin
>
> Programming affiliations with the FreeEOS equation-of-state
> implementation for stellar interiors (freeeos.sf.net); the Time
> Ephemerides project (timeephem.sf.net); PLplot scientific plotting
> software package (plplot.sf.net); the libLASi project
> (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
> and the Linux Brochure Project (lbproject.sf.net).
> __________________________
>
> Linux-powered Science
> __________________________
>
--
António Rodrigues Tomé
Universidade da Beira Interior
Instituto D. Luís (lab associado)
email address:
[email protected]
[email protected]
http://www.researcherid.com/rid/A-5681-2013
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel