Mercurial > octave
diff libinterp/corefcn/interpreter-private.cc @ 27321:eddce82a57cc
don't use singleton pattern for gh_manager object
* interpreter.h, interpreter.cc (interpreter::m_gh_manager):
New data member.
(interpreter::interpreter): Initialize it.
(interpreter::get_gh_manager): New function.
* interpreter-private.h, interpreter-private.cc (__get_gh_manager__):
New function.
* graphics.in.h, graphics.cc (gh_manager::instance): Delete.
(gh_manager::m_interpreter): New data member.
(gh_manager::gh_manager): Accept reference to interpreter as
argument. Make public.
(gh_manager::create_instance): Delete.
(gh_manager& gh_manager::instance): New member function. Replace
direct uses of previous global instance variable with this function to
access gh_manager from interpreter object.
(gh_manager::instance_ok): Delete. Change all uses to assume that the
gh_manager instance is always present.
(gh_manager::cleanup_instance): Delete.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 05 Aug 2019 10:42:18 -0500 |
parents | 596312d4f25d |
children | 5e0f6db9428f |
line wrap: on
line diff
--- a/libinterp/corefcn/interpreter-private.cc Mon Aug 05 10:29:21 2019 -0500 +++ b/libinterp/corefcn/interpreter-private.cc Mon Aug 05 10:42:18 2019 -0500 @@ -75,6 +75,13 @@ return interp.get_error_system (); } + gh_manager& __get_gh_manager__ (const std::string& who) + { + interpreter& interp = __get_interpreter__ (who); + + return interp.get_gh_manager (); + } + help_system& __get_help_system__ (const std::string& who) { interpreter& interp = __get_interpreter__ (who);