diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 13024ce6df9b..bf0031230c9e 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 1ed2601c6145..9211f098eb70 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");