Title: [280328] trunk/Source/WebKit
Revision
280328
Author
[email protected]
Date
2021-07-26 17:06:52 -0700 (Mon, 26 Jul 2021)

Log Message

REGRESSION: [iOS] ASSERTION FAILED: !m_messageReceiverMapCount under WebKit::RemoteAudioHardwareListener::~RemoteAudioHardwareListener()
https://bugs.webkit.org/show_bug.cgi?id=228038
<rdar://problem/80705471>

Reviewed by Chris Dumez.

Remove RemoteAudioHardwareListener from the GPUProcessConnection messageMap when the connection closes.

* WebProcess/GPU/media/RemoteAudioHardwareListener.cpp:
(WebKit::RemoteAudioHardwareListener::gpuProcessConnectionDidClose):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (280327 => 280328)


--- trunk/Source/WebKit/ChangeLog	2021-07-27 00:06:18 UTC (rev 280327)
+++ trunk/Source/WebKit/ChangeLog	2021-07-27 00:06:52 UTC (rev 280328)
@@ -1,5 +1,18 @@
 2021-07-26  Jer Noble  <[email protected]>
 
+        REGRESSION: [iOS] ASSERTION FAILED: !m_messageReceiverMapCount under WebKit::RemoteAudioHardwareListener::~RemoteAudioHardwareListener()
+        https://bugs.webkit.org/show_bug.cgi?id=228038
+        <rdar://problem/80705471>
+
+        Reviewed by Chris Dumez.
+
+        Remove RemoteAudioHardwareListener from the GPUProcessConnection messageMap when the connection closes.
+
+        * WebProcess/GPU/media/RemoteAudioHardwareListener.cpp:
+        (WebKit::RemoteAudioHardwareListener::gpuProcessConnectionDidClose):
+
+2021-07-26  Jer Noble  <[email protected]>
+
         [Cocoa] WebKit is making GroupActivities API calls for all WebKit clients
         https://bugs.webkit.org/show_bug.cgi?id=228299
         <rdar://80802982>

Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteAudioHardwareListener.cpp (280327 => 280328)


--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteAudioHardwareListener.cpp	2021-07-27 00:06:18 UTC (rev 280327)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteAudioHardwareListener.cpp	2021-07-27 00:06:52 UTC (rev 280328)
@@ -60,9 +60,15 @@
     }
 }
 
-void RemoteAudioHardwareListener::gpuProcessConnectionDidClose(GPUProcessConnection&)
+void RemoteAudioHardwareListener::gpuProcessConnectionDidClose(GPUProcessConnection& connection)
 {
     audioHardwareDidBecomeInactive();
+
+    ASSERT_UNUSED(connection, &connection == m_gpuProcessConnection);
+    if (m_gpuProcessConnection) {
+        m_gpuProcessConnection->messageReceiverMap().removeMessageReceiver(*this);
+        m_gpuProcessConnection = nullptr;
+    }
 }
 
 void RemoteAudioHardwareListener::audioHardwareDidBecomeActive()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to