diff --git a/daemon/src/video/video_v4l2_list.cpp b/daemon/src/video/video_v4l2_list.cpp index 2a811890bc5fdb69fcecf6a0d7900fa1c50c37ae..e7e704a418501f0adf5eaadc79ea309f424b3c93 100644 --- a/daemon/src/video/video_v4l2_list.cpp +++ b/daemon/src/video/video_v4l2_list.cpp @@ -288,12 +288,12 @@ void VideoV4l2ListThread::delDevice(const string &node) { ScopedLock lock(mutex_); - for (auto itr = devices_.begin(); itr != devices_.end(); ++itr) { - if (itr->device == node) { - devices_.erase(itr); - Manager::instance().getVideoControls()->deviceEvent(); - return; - } + const auto itr = std::find_if(devices_.begin(), devices_.end(), + [&] (const VideoV4l2Device &d) { return d.device == node; }); + + if (itr != devices_.end()) { + devices_.erase(itr); + Manager::instance().getVideoControls()->deviceEvent(); } }