blarsen / rpms / gdb

Forked from rpms/gdb 2 years ago
Clone
Blob Blame History Raw
https://bugzilla.redhat.com/show_bug.cgi?id=610986
http://sourceware.org/ml/gdb-cvs/2010-08/msg00112.html

### src/gdb/ChangeLog	2010/08/18 22:57:45	1.12097
### src/gdb/ChangeLog	2010/08/19 07:34:26	1.12098
## -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:
--- src/gdb/varobj.c	2010/08/06 14:17:56	1.159
+++ src/gdb/varobj.c	2010/08/19 07:34:27	1.160
@@ -524,7 +524,7 @@ varobj_create (char *objname,
 {
   struct varobj *var;
   struct frame_info *fi;
-  struct frame_info *old_fi = NULL;
+  struct frame_id old_id = null_frame_id;
   struct block *block;
   struct cleanup *old_chain;
 
@@ -611,7 +611,7 @@
 
 	  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 @@
       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