aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2008-04-19 16:38:25 +0000
committerVladimir Prus <vladimir@codesourcery.com>2008-04-19 16:38:25 +0000
commit603ba1de0bfd2aabf369a10ed8a645388e466db8 (patch)
tree744e44575bdfe10cd09a1f7ddf5d0c4456c33e2a /gdb
parent7fc830e29069561bcd3670759e17ffd46f0b67fd (diff)
downloadgdb-603ba1de0bfd2aabf369a10ed8a645388e466db8.zip
gdb-603ba1de0bfd2aabf369a10ed8a645388e466db8.tar.gz
gdb-603ba1de0bfd2aabf369a10ed8a645388e466db8.tar.bz2
* varobj.c (varobj_invalidate): Don't touch floating
varobjs.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/varobj.c5
2 files changed, 10 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9f104fc..0f0db2d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-19 Vladimir Prus <vladimir@codesourcery.com>
+
+ * varobj.c (varobj_invalidate): Don't touch floating
+ varobjs.
+
2008-04-19 Mark Kettenis <kettenis@gnu.org>
* symtab.c: (multiple_symbols_modes, multiple_symbols_ask)
diff --git a/gdb/varobj.c b/gdb/varobj.c
index b27013c..f3d3b5a 100644
--- a/gdb/varobj.c
+++ b/gdb/varobj.c
@@ -2773,6 +2773,11 @@ varobj_invalidate (void)
varp = all_rootvarobj;
while (*varp != NULL)
{
+ /* 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)
+ continue;
+
/* global var must be re-evaluated. */
if ((*varp)->root->valid_block == NULL)
{