Mercurial > octave
diff libinterp/dldfcn/__init_gnuplot__.cc @ 23774:41795b504a8b
don't use singleton for gtk_manager
* graphics-handle.h, graphics-toolkit.cc, graphics-toolkit.h,
gtk-manager.cc, gtk-manager.h: New files, extracted from graphics.cc
and graphics.in.h.
* libinterp/corefcn/module.mk: Update.
* graphics.cc (Favailable_graphics_toolkits,
Fregister_graphics_toolkit, Floaded_graphics_toolkits): Now defined
with DEFMETHOD.
* main-window.cc (octave_interpreter::execute): Pass interpreter
object to Fregister_graphics_toolkit.
* interpreter-private.cc, interpreter-private.h
(__get_gtk_manager__): New function.
* interpreter.cc, interpreter.h
(interpreter::m_gtk_manager): New data member.
(interpreter::get_gtk_manager): New function.
(interpreter::cleanup): Update call to unload_all_toolkits.
* __init_qt__.cc (__init__): Pass reference to interpreter.
Update caller.
(__shutdown__): Don't call gtk_manager::unload_toolkit here.
(F__init_qt__): Define with DEFMETHOD.
* __init_fltk__.cc (F__init_fltk__): Access gtk_manager through
interpreter object.
* __init_gnuplot__.cc (gnuplot_graphics_toolkit::close):
Don't call gtk_manager::unload_toolkit here.
F__init_gnuplot__): Access gtk_manager through interpreter object.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 14 Jul 2017 16:05:59 -0400 |
parents | 8acd390d16c9 |
children | 194eb4bd202b |
line wrap: on
line diff
--- a/libinterp/dldfcn/__init_gnuplot__.cc Wed Jul 19 16:34:13 2017 -0400 +++ b/libinterp/dldfcn/__init_gnuplot__.cc Fri Jul 14 16:05:59 2017 -0400 @@ -141,8 +141,6 @@ { m_interpreter.munlock ("__init_gnuplot__"); - gtk_manager::unload_toolkit ("gnuplot"); - toolkit_loaded = false; } } @@ -227,8 +225,10 @@ { interp.mlock (); + octave::gtk_manager& gtk_mgr = interp.get_gtk_manager (); + graphics_toolkit tk (new gnuplot_graphics_toolkit (interp)); - gtk_manager::load_toolkit (tk); + gtk_mgr.load_toolkit (tk); toolkit_loaded = true; }