Skip to content

Commit e72e898

Browse files
amarchenkoachan00
authored andcommitted
Keep a copy of affected players while notifying abrupt rendering stop.
https://bugs.webkit.org/show_bug.cgi?id=291973 rdar://149869888 Reviewed by Ada Chan. Calling renderingAbruptlyStopped() may lead to a ModelPlayer creation when model's auto-reload logic kicks in. Consecutively that leads to m_players being changed while iterating over the HashMap. Having a copy of currently affected players helps to mitigate that. * Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.cpp: (WebKit::ModelProcessModelPlayerManager::modelProcessConnectionDidClose): Canonical link: https://commits.webkit.org/294071@main
1 parent 9af4ec6 commit e72e898

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

Source/WebKit/WebProcess/Model/ModelProcessModelPlayerManager.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ void ModelProcessModelPlayerManager::modelProcessConnectionDidClose(ModelProcess
9191
{
9292
m_modelProcessConnection = nullptr;
9393

94-
for (auto& entry : m_players) {
94+
auto playersToNotify = m_players;
95+
for (auto& entry : playersToNotify) {
9596
if (RefPtr player = entry.value.get())
9697
player->renderingAbruptlyStopped();
9798
}

0 commit comments

Comments
 (0)