electron code head commit:  2fb9085e5b9b28b7adf0ab7de720c87461b6689d
os: win10 64bit
visual studio 2019 preview

after build electron , I run 
```
electron.exe electron/spec
```
and the program crash, i use vs2019 debug it, see the picture, 
![捕获](https://user-images.githubusercontent.com/43543863/54986357-7331d580-4fed-11e9-9419-0775d533d3fe.PNG)

device_names is empty, and the code does not check it
atom/browser/api/atom_api_desktop_capturer.cc
UpdateSourcesList(list);
  return false;
}
void DesktopCapturer::UpdateSourcesList(DesktopMediaList* list) {
  if (capture_window_ &&
      list->GetMediaListType() == content::DesktopMediaID::TYPE_WINDOW) {
    capture_window_ = false;
    const auto& media_list_sources = list->GetSources();
    std::vector<DesktopCapturer::Source> window_sources;
    window_sources.reserve(media_list_sources.size());
    for (const auto& media_list_source : media_list_sources) {
      window_sources.emplace_back(DesktopCapturer::Source{
          media_list_source, std::string(), fetch_window_icons_});
    }
    std::move(window_sources.begin(), window_sources.end(),
              std::back_inserter(captured_sources_));
  }
  if (capture_screen_ &&
      list->GetMediaListType() == content::DesktopMediaID::TYPE_SCREEN) {
    capture_screen_ = false;
    const auto& media_list_sources = list->GetSources();
    std::vector<DesktopCapturer::Source> screen_sources;
    screen_sources.reserve(media_list_sources.size());
    for (const auto& media_list_source : media_list_sources) {
      screen_sources.emplace_back(
          DesktopCapturer::Source{media_list_source, std::string()});
    }
#if defined(OS_WIN)