mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-23 07:37:29 +09:00
Bug 1453127 - Do not use iterators in MediaStreamTrack when removing listeners. r=pehrsons a=lizzard
--HG-- extra : source : 6b3aaee40f7507e240da08d6e073cff3c53971f4 extra : intermediate-source : 59e50af7afe19f827dd687ea097d5ba551ab0b1d
This commit is contained in:
parent
48ffdb584c
commit
f2565dab54
1 changed files with 8 additions and 4 deletions
|
|
@ -165,11 +165,15 @@ MediaStreamTrack::Destroy()
|
||||||
mPrincipalHandleListener->Forget();
|
mPrincipalHandleListener->Forget();
|
||||||
mPrincipalHandleListener = nullptr;
|
mPrincipalHandleListener = nullptr;
|
||||||
}
|
}
|
||||||
for (auto l : mTrackListeners) {
|
// Remove all listeners -- avoid iterating over the list we're removing from
|
||||||
RemoveListener(l);
|
const nsTArray<RefPtr<MediaStreamTrackListener>> trackListeners(mTrackListeners);
|
||||||
|
for (auto listener : trackListeners) {
|
||||||
|
RemoveListener(listener);
|
||||||
}
|
}
|
||||||
for (auto l : mDirectTrackListeners) {
|
// Do the same as above for direct listeners
|
||||||
RemoveDirectListener(l);
|
const nsTArray<RefPtr<DirectMediaStreamTrackListener>> directTrackListeners(mDirectTrackListeners);
|
||||||
|
for (auto listener : directTrackListeners) {
|
||||||
|
RemoveDirectListener(listener);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue