Properly delete element from unordered_map
This commit is contained in:
parent
97b16c6a5f
commit
86a36ceeef
@ -70,13 +70,15 @@ void IdStringList::updateElements(Context *ctx, std::vector<IdString> elements)
|
||||
}
|
||||
|
||||
// For any elements that are in managed_ but not in new, delete them.
|
||||
for (auto &pair : managed_) {
|
||||
if (element_set.count(pair.first) != 0) {
|
||||
continue;
|
||||
}
|
||||
managed_.erase(pair.first);
|
||||
auto it = managed_.begin();
|
||||
while (it != managed_.end()) {
|
||||
if (element_set.count(it->first) != 0) {
|
||||
++it;
|
||||
} else {
|
||||
it = managed_.erase(it);
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Return early if there are no changes.
|
||||
if (!changed)
|
||||
|
Loading…
Reference in New Issue
Block a user