Mercurial > octave
changeset 27862:813f76932ab6
* __init_gnuplot__.cc: Eliminate static variable "toolkit_loaded".
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sun, 22 Dec 2019 17:06:19 +0100 |
parents | 3fada47cc58a |
children | 546346314210 |
files | libinterp/dldfcn/__init_gnuplot__.cc |
diffstat | 1 files changed, 4 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/dldfcn/__init_gnuplot__.cc Sat Dec 21 20:23:51 2019 +0100 +++ b/libinterp/dldfcn/__init_gnuplot__.cc Sun Dec 22 17:06:19 2019 +0100 @@ -52,8 +52,6 @@ // PKG_ADD: if (__have_gnuplot__ ()) register_graphics_toolkit ("gnuplot"); endif -static bool toolkit_loaded = false; - class gnuplot_graphics_toolkit : public octave::base_graphics_toolkit { public: @@ -147,12 +145,8 @@ void close (void) { - if (toolkit_loaded) - { - m_interpreter.munlock ("__init_gnuplot__"); - - toolkit_loaded = false; - } + if (m_interpreter.mislocked ("__init_gnuplot__")) + m_interpreter.munlock ("__init_gnuplot__"); } private: @@ -231,16 +225,14 @@ { if (! have_gnuplot_binary ()) error ("__init_gnuplot__: the gnuplot program is not available, see 'gnuplot_binary'"); - else if (! toolkit_loaded) + else if (! interp.mislocked ("__init_gnuplot__")) { - interp.mlock (); - octave::gtk_manager& gtk_mgr = interp.get_gtk_manager (); octave::graphics_toolkit tk (new gnuplot_graphics_toolkit (interp)); gtk_mgr.load_toolkit (tk); - toolkit_loaded = true; + interp.mlock (); } return octave_value_list ();