From 9de822ce5bf493ba3bd4fafea77f458d8cfe97f2 Mon Sep 17 00:00:00 2001 From: Andreas Traczyk <andreas.traczyk@savoirfairelinux.com> Date: Mon, 11 Feb 2019 16:42:00 -0500 Subject: [PATCH] video: don't always clear default device when calling removeDevice - Checks if there are still video devices in the list, and if so, sets the default to the 0th, otherwise empties the string. Change-Id: Ib7fed45bf2d32d1d41c6286b4d62c71183eed39d --- src/media/video/video_device_monitor.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/media/video/video_device_monitor.cpp b/src/media/video/video_device_monitor.cpp index f8640cbca1..81513ff40c 100644 --- a/src/media/video/video_device_monitor.cpp +++ b/src/media/video/video_device_monitor.cpp @@ -237,10 +237,16 @@ VideoDeviceMonitor::removeDevice(const string& node) if (it == devices_.end()) return; - if (defaultDevice_ == it->name) - defaultDevice_.clear(); - + auto removedDeviceName = it->name; devices_.erase(it); + + if (defaultDevice_ == removedDeviceName) { + if (devices_.size() == 0) { + defaultDevice_.clear(); + } else { + defaultDevice_ = devices_[0].name; + } + } } notify(); } -- GitLab