mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 00:08:39 +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 = nullptr;
|
||||
}
|
||||
for (auto l : mTrackListeners) {
|
||||
RemoveListener(l);
|
||||
// Remove all listeners -- avoid iterating over the list we're removing from
|
||||
const nsTArray<RefPtr<MediaStreamTrackListener>> trackListeners(mTrackListeners);
|
||||
for (auto listener : trackListeners) {
|
||||
RemoveListener(listener);
|
||||
}
|
||||
for (auto l : mDirectTrackListeners) {
|
||||
RemoveDirectListener(l);
|
||||
// Do the same as above for direct listeners
|
||||
const nsTArray<RefPtr<DirectMediaStreamTrackListener>> directTrackListeners(mDirectTrackListeners);
|
||||
for (auto listener : directTrackListeners) {
|
||||
RemoveDirectListener(listener);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue