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 <alan.w.irwin1...@gmail.com>
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:
art...@gmail.com
art...@ubi.pt
http://www.researcherid.com/rid/A-5681-2013
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to