- for (GuestMap::iterator it = mGuests.begin(); it != mGuests.end(); ++it)
- if (it->second->isGuestOf(guest, loose)) {
- secnotice("SS", "%p guest destroy %d", this, it->first);
- mGuests.erase(it);
+
+ set<SecGuestRef> matchingGuests;
+
+ for (auto &it : mGuests) {
+ if (it.second->isGuestOf(guest, loose)) {
+ matchingGuests.insert(it.first);