aboutsummaryrefslogtreecommitdiff
path: root/gdb/tui/tuiSourceWin.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/tui/tuiSourceWin.c')
-rw-r--r--gdb/tui/tuiSourceWin.c11
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);