changeset 28809:03c0024f95c7

avoid using bare pointers for symbol lists in editor (bug #56990) * octave-qscintilla.cc (octave_qscintilla): remove obsolete initializations; (event): get symbol names if in debug mode and tool tip event, if word under cursor is in symbol names, get symbol values and insert value into tool tip; * octave-qscintilla.h: remove obsolete class variables for symbol list pointers * workspace-model.h: return const QStringLists for symbol names and values instead of pointers
author Torsten Lilge <ttl-octave@mailbox.org>
date Mon, 28 Sep 2020 21:57:01 +0200
parents 6d68413cfd2d
children 8661ec211592
files libgui/src/m-editor/octave-qscintilla.cc libgui/src/m-editor/octave-qscintilla.h libgui/src/workspace-model.h
diffstat 3 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/libgui/src/m-editor/octave-qscintilla.cc	Mon Sep 28 21:48:03 2020 +0200
+++ b/libgui/src/m-editor/octave-qscintilla.cc	Mon Sep 28 21:57:01 2020 +0200
@@ -111,8 +111,6 @@
 
   octave_qscintilla::octave_qscintilla (QWidget *p, base_qobject& oct_qobj)
     : QsciScintilla (p), m_octave_qobj (oct_qobj), m_debug_mode (false),
-      m_symbol_names (m_octave_qobj.get_workspace_model ()->get_symbol_names ()),
-      m_symbol_values (m_octave_qobj.get_workspace_model ()->get_symbol_values ()),
       m_word_at_cursor (), m_selection (), m_selection_replacement (),
       m_selection_line (-1), m_selection_col (-1), m_indicator_id (1),
       m_tooltip_font (QToolTip::font ())
@@ -1127,11 +1125,15 @@
       {
         QHelpEvent *help_e = static_cast<QHelpEvent *>(e);
         QString variable = wordAtPoint (help_e->pos());
-        int symbol_idx = m_symbol_names->indexOf (variable);
+        QStringList symbol_names
+            = m_octave_qobj.get_workspace_model ()->get_symbol_names ();
+        int symbol_idx = symbol_names.indexOf (variable);
         if (symbol_idx > -1)
           {
+            QStringList symbol_values
+                = m_octave_qobj.get_workspace_model ()->get_symbol_values ();
             QToolTip::showText (help_e->globalPos(), variable
-                                + " = " + m_symbol_values->at (symbol_idx));
+                                + " = " + symbol_values.at (symbol_idx));
           }
         else
           {
--- a/libgui/src/m-editor/octave-qscintilla.h	Mon Sep 28 21:48:03 2020 +0200
+++ b/libgui/src/m-editor/octave-qscintilla.h	Mon Sep 28 21:57:01 2020 +0200
@@ -140,8 +140,6 @@
     base_qobject& m_octave_qobj;
 
     bool m_debug_mode;
-    QStringList *m_symbol_names;
-    QStringList *m_symbol_values;
 
     QString m_word_at_cursor;
 
--- a/libgui/src/workspace-model.h	Mon Sep 28 21:48:03 2020 +0200
+++ b/libgui/src/workspace-model.h	Mon Sep 28 21:57:01 2020 +0200
@@ -75,8 +75,8 @@
 
     symbol_info_list get_symbol_info (void) const { return m_syminfo_list; }
 
-    QStringList *get_symbol_names (void) { return &m_symbols; }
-    QStringList *get_symbol_values (void) { return &m_values; }
+    QStringList get_symbol_names (void) const { return m_symbols; }
+    QStringList get_symbol_values (void) const { return m_values; }
 
   signals: