[network] Fix CZeroconfBrowserAvahi::doRemoveServiceType map iterator usage
authorKai Sommerfeld <kai.sommerfeld@gmx.com>
Tue, 23 Feb 2016 21:56:22 +0000 (22:56 +0100)
committerKai Sommerfeld <kai.sommerfeld@gmx.com>
Wed, 24 Feb 2016 22:08:16 +0000 (23:08 +0100)
xbmc/network/linux/ZeroconfBrowserAvahi.cpp

index f834d86..2c62f48 100644 (file)
@@ -149,9 +149,13 @@ bool CZeroconfBrowserAvahi::doRemoveServiceType ( const std::string& fcr_service
     }
     m_browsers.erase ( it );
     //remove this serviceType from the list of discovered services
-    for ( tDiscoveredServices::iterator it = m_discovered_services.begin(); it != m_discovered_services.end(); ++it )
-      if ( it->first.GetType() == fcr_service_type )
-        m_discovered_services.erase ( it++ );
+    for (auto itr = m_discovered_services.begin(); itr != m_discovered_services.end();)
+    {
+      if (itr->first.GetType() == fcr_service_type)
+        itr = m_discovered_services.erase(itr);
+      else
+        ++itr;
+    }
   }
   return true;
 }