This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] fix build breakage in tui


The changes to current_source_symtab broke the tui.
So I checked this in.

Stephane, please double check.

Elena

2002-09-29  Elena Zannoni  <ezannoni@redhat.com>

	* tui.c (tui_show_source): Don't access current_source_symtab, use
	accessor function instead.  Include source.h and symtab.h
	* tuiDisassem.c (tuiShowDisassemAndUpdateSource,
	tuiVerticalDisassemScroll): Use accessor functions for current
	source line and symtab.  Include source.h.
	* tuiLayout.c (_extractDisplayStartAddr): Use accessor functions
	for current source line and symtab.  Include source.h.
	* tuiWin.c (_makeVisibleWithNewHeight): Ditto.
	* tuiSourceWin.c (tuiUpdateSourceWindowAsIs,
	tuiHorizontalSourceScroll): Ditto.
	* tuiSource.c (tuiVerticalSourceScroll): Ditto.

Index: tui.c
===================================================================
RCS file: /cvs/uberbaum/gdb/tui/tui.c,v
retrieving revision 1.26
diff -u -p -r1.26 tui.c
--- tui.c	13 Sep 2002 20:06:56 -0000	1.26
+++ tui.c	30 Sep 2002 00:42:08 -0000
@@ -67,6 +67,8 @@
 #include "frame.h"
 #include "breakpoint.h"
 #include "inferior.h"
+#include "symtab.h"
+#include "source.h"
 
 /* Tells whether the TUI is active or not.  */
 int tui_active = 0;
@@ -543,10 +545,11 @@ _tuiReset (void)
 void
 tui_show_source (const char *file, int line)
 {
+  struct symtab_and_line cursal = get_current_source_symtab_and_line ();
   /* make sure that the source window is displayed */
   tuiAddWinToLayout (SRC_WIN);
 
-  tuiUpdateSourceWindowsWithLine (current_source_symtab, line);
+  tuiUpdateSourceWindowsWithLine (cursal.symtab, line);
   tuiUpdateLocatorFilename (file);
 }
 
Index: tuiDisassem.c
===================================================================
RCS file: /cvs/uberbaum/gdb/tui/tuiDisassem.c,v
retrieving revision 1.16
diff -u -p -r1.16 tuiDisassem.c
--- tuiDisassem.c	28 Aug 2002 20:33:27 -0000	1.16
+++ tuiDisassem.c	30 Sep 2002 00:42:08 -0000
@@ -44,6 +44,7 @@
 #include "breakpoint.h"
 #include "frame.h"
 #include "value.h"
+#include "source.h"
 
 #include "tui.h"
 #include "tuiData.h"
@@ -337,7 +338,7 @@ tuiShowDisassemAndUpdateSource (CORE_ADD
       tuiUpdateSourceWindow (srcWin, sal.symtab, val, TRUE);
       if (sal.symtab)
 	{
-	  current_source_symtab = sal.symtab;
+	  set_current_source_symtab_and_line (&sal);
 	  tuiUpdateLocatorFilename (sal.symtab->filename);
 	}
       else
@@ -415,12 +416,13 @@ tuiVerticalDisassemScroll (TuiScrollDire
       struct symtab *s;
       TuiLineOrAddress val;
       int maxLines, dir;
+      struct symtab_and_line cursal = get_current_source_symtab_and_line ();
 
       content = (TuiWinContent) disassemWin->generic.content;
-      if (current_source_symtab == (struct symtab *) NULL)
+      if (cursal.symtab == (struct symtab *) NULL)
 	s = find_pc_symtab (selected_frame->pc);
       else
-	s = current_source_symtab;
+	s = cursal.symtab;
 
       /* account for hilite */
       maxLines = disassemWin->generic.height - 2;
Index: tuiLayout.c
===================================================================
RCS file: /cvs/uberbaum/gdb/tui/tuiLayout.c,v
retrieving revision 1.17
diff -u -p -r1.17 tuiLayout.c
--- tuiLayout.c	24 Aug 2002 15:25:25 -0000	1.17
+++ tuiLayout.c	30 Sep 2002 00:42:09 -0000
@@ -43,6 +43,7 @@
 #include "command.h"
 #include "symtab.h"
 #include "frame.h"
+#include "source.h"
 #include <ctype.h>
 
 #include "tui.h"
@@ -546,12 +547,13 @@ _extractDisplayStartAddr (void)
   TuiLayoutType curLayout = currentLayout ();
   CORE_ADDR addr;
   CORE_ADDR pc;
+  struct symtab_and_line cursal = get_current_source_symtab_and_line ();
 
   switch (curLayout)
     {
     case SRC_COMMAND:
     case SRC_DATA_COMMAND:
-      find_line_pc (current_source_symtab,
+      find_line_pc (cursal.symtab,
 		    srcWin->detail.sourceInfo.startLineOrAddr.lineNo,
 		    &pc);
       addr = pc;
Index: tuiSource.c
===================================================================
RCS file: /cvs/uberbaum/gdb/tui/tuiSource.c,v
retrieving revision 1.12
diff -u -p -r1.12 tuiSource.c
--- tuiSource.c	1 Sep 2002 16:12:52 -0000	1.12
+++ tuiSource.c	30 Sep 2002 00:42:09 -0000
@@ -337,11 +337,12 @@ tuiVerticalSourceScroll (TuiScrollDirect
       TuiLineOrAddress l;
       struct symtab *s;
       TuiWinContent content = (TuiWinContent) srcWin->generic.content;
+      struct symtab_and_line cursal = get_current_source_symtab_and_line ();
 
-      if (current_source_symtab == (struct symtab *) NULL)
+      if (cursal.symtab == (struct symtab *) NULL)
 	s = find_pc_symtab (selected_frame->pc);
       else
-	s = current_source_symtab;
+	s = cursal.symtab;
 
       if (scrollDirection == FORWARD_SCROLL)
 	{
Index: tuiSourceWin.c
===================================================================
RCS file: /cvs/uberbaum/gdb/tui/tuiSourceWin.c,v
retrieving revision 1.21
diff -u -p -r1.21 tuiSourceWin.c
--- tuiSourceWin.c	31 Aug 2002 12:25:29 -0000	1.21
+++ tuiSourceWin.c	30 Sep 2002 00:42:10 -0000
@@ -45,6 +45,7 @@
 #include "frame.h"
 #include "breakpoint.h"
 #include "value.h"
+#include "source.h"
 
 #include "tui.h"
 #include "tuiData.h"
@@ -125,9 +126,12 @@ tuiUpdateSourceWindowAsIs (TuiWinInfoPtr
       tuiUpdateExecInfo (winInfo);
       if (winInfo->generic.type == SRC_WIN)
 	{
-	  current_source_line = lineOrAddr.lineNo +
+	  struct symtab_and_line sal;
+	  
+	  sal.line = lineOrAddr.lineNo +
 	    (winInfo->generic.contentSize - 2);
-	  current_source_symtab = s;
+	  sal.symtab = s;
+	  set_current_source_symtab_and_line (&sal);
 	  /*
 	     ** If the focus was in the asm win, put it in the src
 	     ** win if we don't have a split layout
@@ -348,11 +352,12 @@ tuiHorizontalSourceScroll (TuiWinInfoPtr
     {
       int offset;
       struct symtab *s;
+      struct symtab_and_line cursal = get_current_source_symtab_and_line ();
 
-      if (current_source_symtab == (struct symtab *) NULL)
+      if (cursal.symtab == (struct symtab *) NULL)
 	s = find_pc_symtab (selected_frame->pc);
       else
-	s = current_source_symtab;
+	s = cursal.symtab;
 
       if (direction == LEFT_SCROLL)
 	offset = winInfo->detail.sourceInfo.horizontalOffset + numToScroll;
Index: tuiWin.c
===================================================================
RCS file: /cvs/uberbaum/gdb/tui/tuiWin.c,v
retrieving revision 1.23
diff -u -p -r1.23 tuiWin.c
--- tuiWin.c	2 Sep 2002 19:34:18 -0000	1.23
+++ tuiWin.c	30 Sep 2002 00:42:11 -0000
@@ -53,6 +53,7 @@
 #include "frame.h"
 #include "cli/cli-cmds.h"
 #include "top.h"
+#include "source.h"
 
 #include "tui.h"
 #include "tuiData.h"
@@ -1364,6 +1365,8 @@ _makeVisibleWithNewHeight (TuiWinInfoPtr
       if (winInfo->generic.content != (OpaquePtr) NULL)
 	{
 	  TuiLineOrAddress lineOrAddr;
+	  struct symtab_and_line cursal
+	    = get_current_source_symtab_and_line ();
 
 	  if (winInfo->generic.type == SRC_WIN)
 	    lineOrAddr.lineNo =
@@ -1373,19 +1376,20 @@ _makeVisibleWithNewHeight (TuiWinInfoPtr
 	      winInfo->detail.sourceInfo.startLineOrAddr.addr;
 	  freeWinContent (&winInfo->generic);
 	  tuiUpdateSourceWindow (winInfo,
-				 current_source_symtab, lineOrAddr, TRUE);
+				 cursal.symtab, lineOrAddr, TRUE);
 	}
       else if (selected_frame != (struct frame_info *) NULL)
 	{
 	  TuiLineOrAddress line;
-	  extern int current_source_line;
+	  struct symtab_and_line cursal = get_current_source_symtab_and_line ();
+
 
 	  s = find_pc_symtab (selected_frame->pc);
 	  if (winInfo->generic.type == SRC_WIN)
-	    line.lineNo = current_source_line;
+	    line.lineNo = cursal.line;
 	  else
 	    {
-	      find_line_pc (s, current_source_line, &line.addr);
+	      find_line_pc (s, cursal.line, &line.addr);
 	    }
 	  tuiUpdateSourceWindow (winInfo, s, line, TRUE);
 	}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]