Index: gdb/frame.h =================================================================== RCS file: /home/ncvs/src/contrib/gdb/gdb/frame.h,v retrieving revision 1.1.1.4 diff -u -r1.1.1.4 frame.h --- gdb/frame.h 20 Jun 2004 18:17:03 -0000 1.1.1.4 +++ gdb/frame.h 7 Dec 2004 02:43:25 -0000 @@ -551,7 +551,7 @@ extern void show_and_print_stack_frame (struct frame_info *fi, int level, int source); -extern void print_stack_frame (struct frame_info *, int, int); +extern int print_stack_frame (struct frame_info *, int, int); extern void show_stack_frame (struct frame_info *); Index: gdb/stack.c =================================================================== RCS file: /home/ncvs/src/contrib/gdb/gdb/stack.c,v retrieving revision 1.1.1.4 diff -u -r1.1.1.4 stack.c --- gdb/stack.c 20 Jun 2004 18:20:35 -0000 1.1.1.4 +++ gdb/stack.c 7 Dec 2004 02:42:18 -0000 @@ -134,7 +134,7 @@ struct print_stack_frame_args *p = (struct print_stack_frame_args *) args; print_frame_info (p->fi, p->level, p->source, p->args); - return 0; + return 1; } /* Show or print a stack frame briefly. FRAME_INFI should be the frame info @@ -147,7 +147,7 @@ If SOURCE is 1, print the source line as well. If SOURCE is -1, print ONLY the source line. */ -void +int print_stack_frame (struct frame_info *fi, int level, int source) { struct print_stack_frame_args args; @@ -157,7 +157,7 @@ args.source = source; args.args = 1; - catch_errors (print_stack_frame_stub, (char *) &args, "", RETURN_MASK_ALL); + return catch_errors (print_stack_frame_stub, (char *) &args, "", RETURN_MASK_ALL); } struct print_args_args Index: gdb/thread.c =================================================================== RCS file: /home/ncvs/src/contrib/gdb/gdb/thread.c,v retrieving revision 1.4 diff -u -r1.4 thread.c --- gdb/thread.c 20 Jun 2004 19:47:26 -0000 1.4 +++ gdb/thread.c 7 Dec 2004 03:05:21 -0000 @@ -448,7 +448,8 @@ puts_filtered (" "); switch_to_thread (tp->ptid); - print_stack_frame (get_selected_frame (), -1, 0); + if (print_stack_frame (get_selected_frame (), -1, 0) == 0) + break; } switch_to_thread (current_ptid);