From ab42892fb7d265e72a85e918d4f5c6dfeee3fcd8 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 16 Mar 2019 19:53:46 +0200 Subject: [PATCH] Fix vertical scrolling of TUI source window gdb/ChangeLog: 2019-03-16 Eli Zaretskii * source-cache.c (source_cache::get_source_lines): Call find_source_lines to initialize s->nlines. This fixes vertical scrolling of TUI source window when the DOWN arrow is pressed. --- gdb/ChangeLog | 6 ++++++ gdb/source-cache.c | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 13024ce6df..bf0031230c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2019-03-16 Eli Zaretskii + + * source-cache.c (source_cache::get_source_lines): Call + find_source_lines to initialize s->nlines. This fixes vertical + scrolling of TUI source window when the DOWN arrow is pressed. + 2019-03-16 Philippe Waroquiers * auto-load.c (_initialize_auto_load): Fix 'This options has'. diff --git a/gdb/source-cache.c b/gdb/source-cache.c index 1ed2601c61..9211f098eb 100644 --- a/gdb/source-cache.c +++ b/gdb/source-cache.c @@ -200,6 +200,13 @@ source_cache::get_source_lines (struct symtab *s, int first_line, std::ifstream input (fullname); if (input.is_open ()) { + if (s->line_charpos == 0) + { + scoped_fd desc = open_source_file (s); + if (desc.get () < 0) + return false; + find_source_lines (s, desc.get ()); + } srchilite::SourceHighlight highlighter ("esc.outlang"); highlighter.setStyleFile("esc.style"); -- 2.34.1