diff options
author | Morgan Deters <mdeters@gmail.com> | 2010-10-02 23:53:18 +0000 |
---|---|---|
committer | Morgan Deters <mdeters@gmail.com> | 2010-10-02 23:53:18 +0000 |
commit | 036a23f59bbc23343dc690fd1e147541e79e9b9e (patch) | |
tree | 697cac1b21e1826b7798b69dce7f4480a26e8f77 /src/context | |
parent | 999b496fbf50525b7245ee28e972d7f0f04a1025 (diff) |
revert a workaround fix to CDMap that was committed as part of the arith-indexed-vars merge, and fix the root cause (maybe?) in attribute.cpp: previously, items from the cdnodes attribute table weren't properly being "obliterated" from the table due to a typo
Diffstat (limited to 'src/context')
-rw-r--r-- | src/context/cdmap.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/context/cdmap.h b/src/context/cdmap.h index b7fc5dcc6..0b75ee284 100644 --- a/src/context/cdmap.h +++ b/src/context/cdmap.h @@ -344,13 +344,13 @@ public: emptyTrash(); Debug("gc") << "done emptying trash for " << this << std::endl; - for(Element* i = d_first; i != NULL;) { + for(typename table_type::iterator i = d_map.begin(); + i != d_map.end(); + ++i) { // mark it as being a destruction (short-circuit restore()) - Element* thisOne = i; - i = i->next(); - thisOne->d_map = NULL; - if(!thisOne->d_noTrash) { - thisOne->deleteSelf(); + (*i).second->d_map = NULL; + if(!(*i).second->d_noTrash) { + (*i).second->deleteSelf(); } } d_map.clear(); |