diff options
Diffstat (limited to 'WebCore/platform/graphics')
-rw-r--r-- | WebCore/platform/graphics/android/BaseLayerAndroid.cpp | 2 | ||||
-rw-r--r-- | WebCore/platform/graphics/android/TilesManager.cpp | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/WebCore/platform/graphics/android/BaseLayerAndroid.cpp b/WebCore/platform/graphics/android/BaseLayerAndroid.cpp index 76e06bf..fe918e6 100644 --- a/WebCore/platform/graphics/android/BaseLayerAndroid.cpp +++ b/WebCore/platform/graphics/android/BaseLayerAndroid.cpp @@ -329,6 +329,8 @@ bool BaseLayerAndroid::drawGL(IntRect& viewRect, SkRect& visibleRect, if (compositedRoot->drawGL(matrix)) ret = true; + } else { + TilesManager::instance()->cleanupLayersTextures(0); } glDisable(GL_SCISSOR_TEST); diff --git a/WebCore/platform/graphics/android/TilesManager.cpp b/WebCore/platform/graphics/android/TilesManager.cpp index 9d42058..4b53a54 100644 --- a/WebCore/platform/graphics/android/TilesManager.cpp +++ b/WebCore/platform/graphics/android/TilesManager.cpp @@ -279,7 +279,9 @@ void TilesManager::printLayersTextures(const char* s) void TilesManager::cleanupLayersTextures(LayerAndroid* layer, bool forceCleanup) { android::Mutex::Autolock lock(m_texturesLock); - SkLayer* rootLayer = layer->getRootLayer(); + SkLayer* rootLayer = 0; + if (layer) + rootLayer = layer->getRootLayer(); #ifdef DEBUG if (forceCleanup) XLOG("FORCE cleanup"); |