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 + + * 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 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