From 75fd9bc1ec6f7c44cea2dce02c996c07ab826af8 Mon Sep 17 00:00:00 2001 From: Stephane Carrez Date: Mon, 16 Jul 2001 22:13:38 +0000 Subject: * tuiStack.c: Add missing includes. (tuiShowFrameInfo): Don't crash when there is no symbol table associated with the pc. * tuiSource.c (_hasBreak): Check for null source file. * tuiWin.c (tuiRefreshAll): Check for null winList[type]. (_tuiSetFocus): Check for null dataWin. * tuiGeneralWin.c (refreshAll): Check for null list[type]. --- gdb/tui/ChangeLog | 10 ++++++++++ gdb/tui/tuiGeneralWin.c | 2 +- gdb/tui/tuiSource.c | 5 +++-- gdb/tui/tuiStack.c | 6 ++++++ gdb/tui/tuiWin.c | 4 ++-- 5 files changed, 22 insertions(+), 5 deletions(-) (limited to 'gdb') diff --git a/gdb/tui/ChangeLog b/gdb/tui/ChangeLog index 7a974b7..4d66f34 100644 --- a/gdb/tui/ChangeLog +++ b/gdb/tui/ChangeLog @@ -1,5 +1,15 @@ 2001-07-16 Stephane Carrez + * tuiStack.c: Add missing includes. + (tuiShowFrameInfo): Don't crash when there is no symbol table + associated with the pc. + * tuiSource.c (_hasBreak): Check for null source file. + * tuiWin.c (tuiRefreshAll): Check for null winList[type]. + (_tuiSetFocus): Check for null dataWin. + * tuiGeneralWin.c (refreshAll): Check for null list[type]. + +2001-07-16 Stephane Carrez + * tuiDisassem.c (tuiSetDisassemContent): Use tm_print_insn_info to disassemble in the curses window. diff --git a/gdb/tui/tuiGeneralWin.c b/gdb/tui/tuiGeneralWin.c index 0fe3529..6535f91 100644 --- a/gdb/tui/tuiGeneralWin.c +++ b/gdb/tui/tuiGeneralWin.c @@ -370,7 +370,7 @@ refreshAll (TuiWinInfoPtr * list) for (type = SRC_WIN; (type < MAX_MAJOR_WINDOWS); type++) { - if (list[type]->generic.isVisible) + if (list[type] && list[type]->generic.isVisible) { if (type == SRC_WIN || type == DISASSEM_WIN) { diff --git a/gdb/tui/tuiSource.c b/gdb/tui/tuiSource.c index 4a39e0a..2f52fc5 100644 --- a/gdb/tui/tuiSource.c +++ b/gdb/tui/tuiSource.c @@ -417,8 +417,9 @@ _hasBreak (char *sourceFileName, int lineNo) (bp != (struct breakpoint *) NULL && bpWithBreak == (struct breakpoint *) NULL); bp = bp->next) - if ((strcmp (sourceFileName, bp->source_file) == 0) && - (lineNo == bp->line_number)) + if (bp->source_file + && (strcmp (sourceFileName, bp->source_file) == 0) + && (lineNo == bp->line_number)) bpWithBreak = bp; return bpWithBreak; diff --git a/gdb/tui/tuiStack.c b/gdb/tui/tuiStack.c index 47a0cd0..edff5cb 100644 --- a/gdb/tui/tuiStack.c +++ b/gdb/tui/tuiStack.c @@ -23,10 +23,13 @@ #include "symtab.h" #include "breakpoint.h" #include "frame.h" +#include "command.h" #include "tui.h" #include "tuiData.h" #include "tuiStack.h" +#include "tuiGeneralWin.h" +#include "tuiSource.h" #include "tuiSourceWin.h" @@ -330,6 +333,9 @@ tuiShowFrameInfo (struct frame_info *fi) s = find_pc_symtab (fi->pc); + if (s == 0) + return; + sourceAlreadyDisplayed = tuiSourceIsDisplayed (s->filename); tuiUpdateLocatorDisplay (fi); for (i = 0; i < (sourceWindows ())->count; i++) diff --git a/gdb/tui/tuiWin.c b/gdb/tui/tuiWin.c index 333a8a6..925e1f4 100644 --- a/gdb/tui/tuiWin.c +++ b/gdb/tui/tuiWin.c @@ -350,7 +350,7 @@ tuiRefreshAll (void) refreshAll (winList); for (type = SRC_WIN; type < MAX_MAJOR_WINDOWS; type++) { - if (winList[type]->generic.isVisible) + if (winList[type] && winList[type]->generic.isVisible) { switch (type) { @@ -680,7 +680,7 @@ The window name specified must be valid and visible.\n"); keypad (cmdWin->generic.handle, (winInfo != cmdWin)); } - if (dataWin->generic.isVisible) + if (dataWin && dataWin->generic.isVisible) tuiRefreshDataWin (); tuiFree (bufPtr); printf_filtered ("Focus set to %s window.\n", -- cgit v1.1