Title: [170405] trunk/Source/WebCore
- Revision
- 170405
- Author
- jer.no...@apple.com
- Date
- 2014-06-24 16:39:15 -0700 (Tue, 24 Jun 2014)
Log Message
[MSE][Mac] Uncaught exception when deallocating AVSampleBufferDisplayLayer
https://bugs.webkit.org/show_bug.cgi?id=134281
Reviewed by Brent Fulgham.
AVSampleBufferDisplayLayer is throwing an exception from its -dealloc method because KVO observers exist
at the time of dealloc. Remove the observer for outputObscuredDueToInsufficientExternalProtection inside
-stopObservingLayer.
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(-[WebAVSampleBufferErrorListener stopObservingLayer:]):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (170404 => 170405)
--- trunk/Source/WebCore/ChangeLog 2014-06-24 23:33:55 UTC (rev 170404)
+++ trunk/Source/WebCore/ChangeLog 2014-06-24 23:39:15 UTC (rev 170405)
@@ -1,3 +1,17 @@
+2014-06-24 Jer Noble <jer.no...@apple.com>
+
+ [MSE][Mac] Uncaught exception when deallocating AVSampleBufferDisplayLayer
+ https://bugs.webkit.org/show_bug.cgi?id=134281
+
+ Reviewed by Brent Fulgham.
+
+ AVSampleBufferDisplayLayer is throwing an exception from its -dealloc method because KVO observers exist
+ at the time of dealloc. Remove the observer for outputObscuredDueToInsufficientExternalProtection inside
+ -stopObservingLayer.
+
+ * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
+ (-[WebAVSampleBufferErrorListener stopObservingLayer:]):
+
2014-06-24 Mark Rowe <mr...@apple.com>
WKContextHistoryClient::didNavigateWithNavigationData is passed incorrect URL when history.pushState is used
Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm (170404 => 170405)
--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm 2014-06-24 23:33:55 UTC (rev 170404)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm 2014-06-24 23:39:15 UTC (rev 170405)
@@ -351,6 +351,7 @@
ASSERT(_layers.contains(layer));
[layer removeObserver:self forKeyPath:@"error"];
+ [layer removeObserver:self forKeyPath:@"outputObscuredDueToInsufficientExternalProtection"];
_layers.remove(_layers.find(layer));
[[NSNotificationCenter defaultCenter] removeObserver:self name:AVSampleBufferDisplayLayerFailedToDecodeNotification object:layer];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes