Title: [94984] trunk/Source/WebCore
- Revision
- 94984
- Author
- crog...@google.com
- Date
- 2011-09-12 15:43:00 -0700 (Mon, 12 Sep 2011)
Log Message
Address lifetime issues in OfflineAudioDestinationNode
https://bugs.webkit.org/show_bug.cgi?id=67949
Reviewed by Kenneth Russell.
No new tests. This does not change _javascript_ API.
* webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
(WebCore::OfflineAudioDestinationNode::render):
(WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (94983 => 94984)
--- trunk/Source/WebCore/ChangeLog 2011-09-12 22:21:59 UTC (rev 94983)
+++ trunk/Source/WebCore/ChangeLog 2011-09-12 22:43:00 UTC (rev 94984)
@@ -1,3 +1,17 @@
+2011-09-12 Chris Rogers <crog...@google.com>
+
+ Address lifetime issues in OfflineAudioDestinationNode
+ https://bugs.webkit.org/show_bug.cgi?id=67949
+
+ Reviewed by Kenneth Russell.
+
+ No new tests. This does not change _javascript_ API.
+
+ * webaudio/OfflineAudioDestinationNode.cpp:
+ (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
+ (WebCore::OfflineAudioDestinationNode::render):
+ (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
+
2011-09-12 Jeff Timanus <t...@chromium.org>
[chromium] Prevent a crash when tearing down an ImageBuffer that was not successfully initialized.
Modified: trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp (94983 => 94984)
--- trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp 2011-09-12 22:21:59 UTC (rev 94983)
+++ trunk/Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp 2011-09-12 22:43:00 UTC (rev 94984)
@@ -52,6 +52,9 @@
OfflineAudioDestinationNode::~OfflineAudioDestinationNode()
{
+ if (m_renderThread)
+ waitForThreadCompletion(m_renderThread, 0);
+
uninitialize();
}
@@ -143,6 +146,8 @@
}
// Our work is done. Let the AudioContext know.
+ // See corresponding deref() call in notifyCompleteDispatch().
+ ref();
callOnMainThread(notifyCompleteDispatch, this);
}
@@ -154,6 +159,7 @@
return;
destinationNode->notifyComplete();
+ destinationNode->deref();
}
void OfflineAudioDestinationNode::notifyComplete()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes