Bug 1299515 - Replace a rawptr handoff with generalized lambda capture. r?jib draft
authorAndreas Pehrson <pehrsons@mozilla.com>
Wed, 20 Dec 2017 21:54:16 +0100
changeset 749433 12d1c497dcf870584518779cdd36e100af6e1294
parent 749432 71628a98e5384df40211427654c7711220ec93d4
child 749434 8fdf9981cd49b1c4ba065cba9de9ca9a12b34fc2
push id97396
push userbmo:apehrson@mozilla.com
push dateWed, 31 Jan 2018 13:27:39 +0000
reviewersjib
bugs1299515
milestone60.0a1
Bug 1299515 - Replace a rawptr handoff with generalized lambda capture. r?jib MozReview-Commit-ID: A1hbcpdHygY
dom/media/MediaManager.cpp
--- a/dom/media/MediaManager.cpp
+++ b/dom/media/MediaManager.cpp
@@ -1812,19 +1812,17 @@ MediaManager::EnumerateRawDevices(uint64
     if (hasAudio) {
       nsTArray<RefPtr<MediaDevice>> audios;
       GetSources(fakeMics? fakeBackend : realBackend, aAudioType,
                  audios, audioLoopDev.get());
       for (auto& source : audios) {
         result->AppendElement(source);
       }
     }
-    SourceSet* handoff = result.release();
-    NS_DispatchToMainThread(NewRunnableFrom([id, handoff]() mutable {
-      UniquePtr<SourceSet> result(handoff); // grab result
+    NS_DispatchToMainThread(NewRunnableFrom([id, result{Move(result)}]() mutable {
       MediaManager* mgr = MediaManager::GetIfExists();
       if (!mgr) {
         return NS_OK;
       }
       RefPtr<PledgeSourceSet> p = mgr->mOutstandingPledges.Remove(id);
       if (p) {
         p->Resolve(result.release());
       }