changeset 27322:cb92168e48f6

defer gh_manager creation until after display_info initialization * interpreter.cc (interpreter::interpreter): Create gh_manager object after display_info.initialize is called.
author John W. Eaton <jwe@octave.org>
date Mon, 05 Aug 2019 12:41:23 -0500
parents eddce82a57cc
children 0cf70e494a3f
files libinterp/corefcn/interpreter.cc
diffstat 1 files changed, 13 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/interpreter.cc	Mon Aug 05 10:42:18 2019 -0500
+++ b/libinterp/corefcn/interpreter.cc	Mon Aug 05 12:41:23 2019 -0500
@@ -403,19 +403,6 @@
 
     instance = this;
 
-    // FIXME: we defer creation of the gh_manager object because it
-    // creates a root_figure object that requires the display_info
-    // object, but that is currently only accessible through the global
-    // interpreter object and that is not available until after the
-    // interpreter::instance pointer is set (above).  It would be better
-    // if m_gh_manager could be an object value instead of a pointer and
-    // created as part of the interpreter initialization.  To do that,
-    // we should either make the display_info object independent of the
-    // interpreter object (does it really need to cache any
-    // information?) or defer creation of the root_figure object until
-    // it is actually needed.
-    m_gh_manager = new gh_manager (*this);
-
     // Matlab uses "C" locale for LC_NUMERIC class regardless of local setting
     setlocale (LC_ALL, "");
     setlocale (LC_NUMERIC, "C");
@@ -535,6 +522,19 @@
           Ftexi_macros_file (*this, octave_value (texi_macros_file));
       }
 
+    // FIXME: we defer creation of the gh_manager object because it
+    // creates a root_figure object that requires the display_info
+    // object, but that is currently only accessible through the global
+    // interpreter object and that is not available until after the
+    // interpreter::instance pointer is set (above).  It would be better
+    // if m_gh_manager could be an object value instead of a pointer and
+    // created as part of the interpreter initialization.  To do that,
+    // we should either make the display_info object independent of the
+    // interpreter object (does it really need to cache any
+    // information?) or defer creation of the root_figure object until
+    // it is actually needed.
+    m_gh_manager = new gh_manager (*this);
+
     m_input_system.initialize (line_editing);
 
     // These can come after command line args since none of them set any