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.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/WebCore/platform/graphics/android/LayerAndroid.cpp b/WebCore/platform/graphics/android/LayerAndroid.cpp
index 009915e..dc40fb1 100644
--- a/WebCore/platform/graphics/android/LayerAndroid.cpp
+++ b/WebCore/platform/graphics/android/LayerAndroid.cpp
@@ -928,8 +928,10 @@ bool LayerAndroid::drawGL(GLWebViewState* glWebViewState, SkMatrix& matrix)
{
TilesManager::instance()->shader()->clip(m_clippingRect);
- if (prepareContext() && m_drawingTexture) {
+ if (m_drawingTexture) {
TextureInfo* textureInfo = m_drawingTexture->consumerLock();
+ if (!m_drawingTexture->readyFor(this))
+ m_dirty = true;
if (textureInfo) {
SkRect bounds;
bounds.set(m_drawingTexture->rect());
@@ -943,6 +945,8 @@ bool LayerAndroid::drawGL(GLWebViewState* glWebViewState, SkMatrix& matrix)
m_drawOpacity, true);
}
m_drawingTexture->consumerRelease();
+ } else {
+ m_dirty = true;
}
// When the layer is dirty, the UI thread should be notified to redraw.