aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/frame.c4
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");
}