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 ();