summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/graphics/android/DoubleBufferedTexture.cpp
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2011-03-25 10:43:12 -0400
committerDerek Sollenberger <djsollen@google.com>2011-03-25 10:45:26 -0400
commit92c3acf6b42939215be09fe379bfef07ab703216 (patch)
tree57cf9f775f93718a128e13647d5283caa5a7081b /WebCore/platform/graphics/android/DoubleBufferedTexture.cpp
parent557855a0cf753d49915b11849f3fa4a2c23c2c18 (diff)
downloadexternal_webkit-92c3acf6b42939215be09fe379bfef07ab703216.zip
external_webkit-92c3acf6b42939215be09fe379bfef07ab703216.tar.gz
external_webkit-92c3acf6b42939215be09fe379bfef07ab703216.tar.bz2
Fix error where mediaLayer is derefed on UI thread prior to being derefed in Webkit.
bug: 4171470 Change-Id: I6afe957b2eccae249afa46baede822c34f8f1a7f
Diffstat (limited to 'WebCore/platform/graphics/android/DoubleBufferedTexture.cpp')
-rw-r--r--WebCore/platform/graphics/android/DoubleBufferedTexture.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/WebCore/platform/graphics/android/DoubleBufferedTexture.cpp b/WebCore/platform/graphics/android/DoubleBufferedTexture.cpp
index cf640e8..395bb2b 100644
--- a/WebCore/platform/graphics/android/DoubleBufferedTexture.cpp
+++ b/WebCore/platform/graphics/android/DoubleBufferedTexture.cpp
@@ -114,6 +114,18 @@ void DoubleBufferedTexture::producerDeleteTextures()
m_textureB.unlock();
}
+void DoubleBufferedTexture::consumerDeleteTextures()
+{
+ m_textureA.lock();
+ m_textureB.lock();
+ LOGV("Deleting Consumer Textures A/B (%d:%d)", m_textureA.getTargetTextureId(),
+ m_textureB.getTargetTextureId());
+ m_textureA.deleteTargetTexture();
+ m_textureB.deleteTargetTexture();
+ m_textureA.unlock();
+ m_textureB.unlock();
+}
+
TextureInfo* DoubleBufferedTexture::producerLock()
{
SharedTexture* sharedTex = getWriteableTexture();