{"push_id":1398931460,"size":1,"distinct_size":1,"ref":"refs/heads/fix-visualstudioworkspace-affinity","head":"620525596f9343c623a4227ae644d88a57da5417","before":"e6780323a81e6673e6ddaa36c36bc3d53dcbd231","commits":[{"sha":"620525596f9343c623a4227ae644d88a57da5417","author":{"name":"Jason Malinowski","email":"b4c93731a220e4df123a6d97c0acb20c23a2c6cd@microsoft.com"},"message":"Defer the initialization of a VisualStudioWorkspace until necessary\n\nPreviously, when a VisualStudioWorkspace was constructed we were\ndoing a bunch of work in the constructor talking to the UI thread. This\nwas dangerous because we might get composed on a background thread.\nThis moves the dangerous initialization until we're creating a project\nwhen we know we have a UI thread available.\n\nIn this refactoring I moved the project tracker and a few other fields\ninto a private class so it's more obvious what's dangerous to touch.\nI also do a pass through all consumers of the property and either\nupdate it to use the deferred state directly (because we're only\nconsuming projects, so it's fine if we don't have anything) or to the\nfactory method if we actually are creating projects.\n\nThis does temporarily regress the ability to create projects on\nbackground threads, but it was unclear if that was generally safe to\nstart with.","distinct":true,"url":"https://api.github.com/repos/jasonmalinowski/roslyn/commits/620525596f9343c623a4227ae644d88a57da5417"}]}
{"actor":{"display_login":"jasonmalinowski"}}