diff --git a/src/properties/trackerlist.cpp b/src/properties/trackerlist.cpp index 60de8a239..74084c40e 100644 --- a/src/properties/trackerlist.cpp +++ b/src/properties/trackerlist.cpp @@ -321,18 +321,15 @@ void TrackerList::deleteSelectedTrackers(){ delete item; } // Iterate of trackers and remove selected ones + std::vector remaining_trackers; std::vector trackers = h.trackers(); - std::vector::iterator it = trackers.begin(); - while(it != trackers.end()) { - int index = urls_to_remove.indexOf(misc::toQString((*it).url)); - if(index >= 0) { - trackers.erase(it); - urls_to_remove.removeAt(index); - } else { - it++; + std::vector::iterator it; + for(it = trackers.begin(); it != trackers.end(); it++) { + if(!urls_to_remove.contains(misc::toQString((*it).url))) { + remaining_trackers.push_back(*it); } } - h.replace_trackers(trackers); + h.replace_trackers(remaining_trackers); h.force_reannounce(); // Reload Trackers loadTrackers();