octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: eliminating GUI event listener class


From: John W. Eaton
Subject: Re: eliminating GUI event listener class
Date: Mon, 08 Apr 2013 19:29:22 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.11) Gecko/20121122 Icedove/10.0.11

On 04/08/2013 12:49 PM, Daniel J Sebald wrote:
On 04/08/2013 11:23 AM, John W. Eaton wrote:
The only thing we are using the event listener object for is to
handle cleaning up the GUI when we exit from Octave. I tried to
switch that to using signals and slots but was not successful.

Can anyone explain the proper way to exit a Qt application like the
one we have with multiple threads? Where does qtApp->quit need to be
called?

My guess is that you are issuing a signal from inside the Octave
executable, which triggers the Octave thread to close, then returning to
that code (no longer running) causes the crash. (The event listener
approach initiates the closing of the application from the GUI thread side.

There is probably a better way. Simply let Octave thread finish or
terminate. There is a signal that is issued by the thread which can be
connected to something on the GUI side before the Octave thread is started:

http://qt-project.org/doc/qt-4.8/qthread.html#finished
http://qt-project.org/doc/qt-4.8/qthread.html#terminated

Create a slot that will close the GUI upon getting one (or both?) of
those signals. Right now, GUI/IDE isn't saving modified files, so
something needs to be fixed there.

The attached change results in a segfault for me when exiting Octave either by calling exit at the command line or clicking to close the window. What am I doing wrong?

jwe

Attachment: diffs.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]