diff options
Diffstat (limited to 'gdb/tui/tuiSourceWin.c')
-rw-r--r-- | gdb/tui/tuiSourceWin.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gdb/tui/tuiSourceWin.c b/gdb/tui/tuiSourceWin.c index 60c55a6..4bfc04e 100644 --- a/gdb/tui/tuiSourceWin.c +++ b/gdb/tui/tuiSourceWin.c @@ -241,16 +241,22 @@ tui_vUpdateSourceWindowsWithAddr (va_list args) void tuiUpdateSourceWindowsWithLine (struct symtab *s, int line) { + CORE_ADDR pc; + switch (currentLayout ()) { case DISASSEM_COMMAND: case DISASSEM_DATA_COMMAND: - tuiUpdateSourceWindowsWithAddr ((Opaque) find_line_pc (s, line)); + find_line_pc (s, line, &pc); + tuiUpdateSourceWindowsWithAddr ((Opaque) pc); break; default: tuiShowSource (s, (Opaque) line, FALSE); if (currentLayout () == SRC_DISASSEM_COMMAND) - tuiShowDisassem ((Opaque) find_line_pc (s, line)); + { + find_line_pc (s, line, &pc); + tuiShowDisassem ((Opaque) pc); + } break; } @@ -514,6 +520,7 @@ tuiSetHasBreakAt (struct breakpoint *bp, TuiWinInfoPtr winInfo, int hasBreak) fileNameDisplayed = current_source_symtab->filename; gotIt = (fileNameDisplayed != (char *) NULL && + bp->source_file != NULL && (strcmp (bp->source_file, fileNameDisplayed) == 0) && content[i]->whichElement.source.lineOrAddr.lineNo == bp->line_number); |