+2001-07-16 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * 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 <Stephane.Carrez@worldnet.fr>
* tuiDisassem.c (tuiSetDisassemContent): Use tm_print_insn_info
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)
{
(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;
#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"
s = find_pc_symtab (fi->pc);
+ if (s == 0)
+ return;
+
sourceAlreadyDisplayed = tuiSourceIsDisplayed (s->filename);
tuiUpdateLocatorDisplay (fi);
for (i = 0; i < (sourceWindows ())->count; i++)
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)
{
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",