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
std::move(screen_sources.begin(), screen_sources.end(),
              std::back_inserter(captured_sources_));
  }
  if (!capture_window_ && !capture_screen_)
    Emit("finished", captured_sources_, fetch_window_icons_);
}
mate::Handle<DesktopCapturer> DesktopCapturer::Create(v8::Isolate* isolate) {
  return mate::CreateHandle(isolate, new DesktopCapturer(isolate));
}
void DesktopCapturer::BuildPrototype(
    v8::Isolate* isolate,
    v8::Local<v8::FunctionTemplate> prototype) {
  prototype->SetClassName(mate::StringToV8(isolate, "DesktopCapturer"));
  mate::ObjectTemplateBuilder(isolate, prototype->PrototypeTemplate())
      .SetMethod("startHandling", &DesktopCapturer::StartHandling);
}
}  
}  
namespace {
void Initialize(v8::Local<v8::Object> exports,
                v8::Local<v8::Value> unused,
                v8::Local<v8::Context> context,
                void* priv) {
  v8::Isolate* isolate = context->GetIsolate();
  mate::Dictionary dict(isolate, exports);
  dict.Set("desktopCapturer", atom::api::DesktopCapturer::Create(isolate));
}
}  
NODE_LINKED_MODULE_CONTEXT_AWARE(atom_browser_desktop_capturer, Initialize)