forked from mirrors/gecko-dev
Explicitly remove CALayer from CARenderer when CARenderer is destroyed in order to avoid situations where the CALayer is attached to two renderers. b=556453 r=josh
This commit is contained in:
parent
71f1e1e1ec
commit
e854857c67
1 changed files with 4 additions and 0 deletions
|
|
@ -246,6 +246,10 @@ void cgdata_release_callback(void *aCGData, const void *data, size_t size) {
|
||||||
void nsCARenderer::Destroy() {
|
void nsCARenderer::Destroy() {
|
||||||
if (mCARenderer) {
|
if (mCARenderer) {
|
||||||
CARenderer* caRenderer = (CARenderer*)mCARenderer;
|
CARenderer* caRenderer = (CARenderer*)mCARenderer;
|
||||||
|
// Bug 556453:
|
||||||
|
// Explicitly remove the layer from the renderer
|
||||||
|
// otherwise it does not always happen right away.
|
||||||
|
caRenderer.layer = NULL;
|
||||||
[caRenderer release];
|
[caRenderer release];
|
||||||
}
|
}
|
||||||
if (mPixelBuffer) {
|
if (mPixelBuffer) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue