Mercurial > octave
changeset 29546:58e1230b9503
maint: merge stable to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 20 Apr 2021 16:54:51 -0400 |
parents | 4eeef8cdaa2c (current diff) 841ca9987302 (diff) |
children | 60af3f38f4b1 |
files | libinterp/corefcn/interpreter.cc libinterp/octave.cc |
diffstat | 3 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/examples/code/embedded.cc Tue Apr 20 09:53:31 2021 -0700 +++ b/examples/code/embedded.cc Tue Apr 20 16:54:51 2021 -0400 @@ -76,8 +76,5 @@ std::cerr << "error encountered in Octave evaluator!" << std::endl; } - // Shutdown the interpreter which cleanly releases all memory. - interpreter.shutdown (); - return 0; }
--- a/libinterp/corefcn/interpreter.cc Tue Apr 20 09:53:31 2021 -0700 +++ b/libinterp/corefcn/interpreter.cc Tue Apr 20 16:54:51 2021 -0400 @@ -651,6 +651,8 @@ interpreter::~interpreter (void) { + shutdown (); + delete m_gh_manager; } @@ -1026,6 +1028,13 @@ void interpreter::shutdown (void) { + // Attempt to prevent more than one call to shutdown. + + if (! m_initialized) + return; + + m_initialized = false; + OCTAVE_SAFE_CALL (feval, ("close", ovl ("all"), 0)); // If we are attached to a GUI, process pending events and