aboutsummaryrefslogtreecommitdiff
path: root/gdb/varobj.c
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2009-07-07 08:51:31 +0000
committerVladimir Prus <vladimir@codesourcery.com>2009-07-07 08:51:31 +0000
commit60d329700d212c73c43d1edf0f4b958166e551e5 (patch)
tree537620276df545421f3ba272598e92835d06825a /gdb/varobj.c
parent9a139cba573a3483356f562a725600ab6bc10407 (diff)
downloadgdb-60d329700d212c73c43d1edf0f4b958166e551e5.zip
gdb-60d329700d212c73c43d1edf0f4b958166e551e5.tar.gz
gdb-60d329700d212c73c43d1edf0f4b958166e551e5.tar.bz2
Fix hang in floating varobjs.
* varob.c (varobj_invalidate): Advance to next element when processing floating varobj.
Diffstat (limited to 'gdb/varobj.c')
-rw-r--r--gdb/varobj.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/varobj.c b/gdb/varobj.c
index a025518..e846362 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -3231,8 +3231,10 @@ varobj_invalidate (void)
/* Floating varobjs are reparsed on each stop, so we don't care if
the presently parsed expression refers to something that's gone.
*/
- if ((*varp)->root->floating)
+ if ((*varp)->root->floating) {
+ varp++;
continue;
+ }
/* global var must be re-evaluated. */
if ((*varp)->root->valid_block == NULL)