diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/frame.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 12550ef..d786a7e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2008-03-04 Daniel Jacobowitz <dan@codesourcery.com> + + * frame.c (reinit_frame_cache): Only annotate if frames were + previously valid. + 2008-03-04 Greg Law <glaw@undo-software.com> * regcache.c (registers_changed): Call reinit_frame_cache. diff --git a/gdb/frame.c b/gdb/frame.c index d487e84..ded9ae7 100644 --- a/gdb/frame.c +++ b/gdb/frame.c @@ -1079,9 +1079,11 @@ reinit_frame_cache (void) obstack_free (&frame_cache_obstack, 0); obstack_init (&frame_cache_obstack); + if (current_frame != NULL) + annotate_frames_invalid (); + current_frame = NULL; /* Invalidate cache */ select_frame (NULL); - annotate_frames_invalid (); if (frame_debug) fprintf_unfiltered (gdb_stdlog, "{ reinit_frame_cache () }\n"); } |