diff options
Diffstat (limited to 'WebCore/platform/graphics/android/LayerAndroid.cpp')
-rw-r--r-- | WebCore/platform/graphics/android/LayerAndroid.cpp | 6 |
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. |