aboutsummaryrefslogtreecommitdiff
path: root/gps/core
diff options
context:
space:
mode:
Diffstat (limited to 'gps/core')
-rw-r--r--gps/core/SystemStatusOsObserver.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/gps/core/SystemStatusOsObserver.cpp b/gps/core/SystemStatusOsObserver.cpp
index 0f6d228..8127e86 100644
--- a/gps/core/SystemStatusOsObserver.cpp
+++ b/gps/core/SystemStatusOsObserver.cpp
@@ -328,9 +328,12 @@ void SystemStatusOsObserver::notify(const list<IDataItemCore*>& dlist)
for (auto client : clientSet) {
unordered_set<DataItemId> dataItemIdsForThisClient(
mParent->mClientToDataItems.getValSet(client));
- for (auto id : dataItemIdsForThisClient) {
- if (dataItemIdsToBeSent.find(id) == dataItemIdsToBeSent.end()) {
- dataItemIdsForThisClient.erase(id);
+ for (auto itr = dataItemIdsForThisClient.begin();
+ itr != dataItemIdsForThisClient.end(); ) {
+ if (dataItemIdsToBeSent.find(*itr) == dataItemIdsToBeSent.end()) {
+ itr = dataItemIdsForThisClient.erase(itr);
+ } else {
+ itr++;
}
}