summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/android/LayerAndroid.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/graphics/android/LayerAndroid.cpp')
-rw-r--r--WebCore/platform/graphics/android/LayerAndroid.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/WebCore/platform/graphics/android/LayerAndroid.cpp b/WebCore/platform/graphics/android/LayerAndroid.cpp
index 89ce301..33d98ea 100644
--- a/WebCore/platform/graphics/android/LayerAndroid.cpp
+++ b/WebCore/platform/graphics/android/LayerAndroid.cpp
@@ -186,9 +186,13 @@ bool LayerAndroid::removeTexture(BackedDoubleBufferedTexture* aTexture)
m_reservedTexture != m_drawingTexture)
textureReleased &= m_reservedTexture->release(this);
}
- if (m_drawingTexture && m_drawingTexture->owner() != this)
+ if (m_drawingTexture &&
+ ((m_drawingTexture->owner() != this) ||
+ (m_drawingTexture->delayedReleaseOwner() == this)))
m_drawingTexture = 0;
- if (m_reservedTexture && m_reservedTexture->owner() != this)
+ if (m_reservedTexture &&
+ ((m_reservedTexture->owner() != this) ||
+ (m_reservedTexture->delayedReleaseOwner() == this)))
m_reservedTexture = 0;
return textureReleased;
}