aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/varobj.c8
2 files changed, 10 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index c35c47b..b889876 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2010-08-19 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * varobj.c (varobj_create): Replace variable old_fi with old_id,
+ initialize it by null_frame_id, wrap its usage by get_frame_id,
+ frame_id_p and frame_find_by_id.
+
2010-08-18 Tom Tromey <tromey@redhat.com>
PR python/11900:
diff --git a/gdb/varobj.c b/gdb/varobj.c
index 35c6ce7..56cb8ae 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -537,7 +537,7 @@ varobj_create (char *objname,
if (expression != NULL)
{
struct frame_info *fi;
- struct frame_info *old_fi = NULL;
+ struct frame_id old_id = null_frame_id;
struct block *block;
char *p;
enum varobj_languages lang;
@@ -611,7 +611,7 @@ varobj_create (char *objname,
var->root->frame = get_frame_id (fi);
var->root->thread_id = pid_to_thread_id (inferior_ptid);
- old_fi = get_selected_frame (NULL);
+ old_id = get_frame_id (get_selected_frame (NULL));
select_frame (fi);
}
@@ -639,8 +639,8 @@ varobj_create (char *objname,
var->root->rootvar = var;
/* Reset the selected frame */
- if (old_fi != NULL)
- select_frame (old_fi);
+ if (frame_id_p (old_id))
+ select_frame (frame_find_by_id (old_id));
}
/* If the variable object name is null, that means this