From 458b4b11924c3bcc70dcdd3d69f64a855870e72d Mon Sep 17 00:00:00 2001 From: Chris Craik Date: Thu, 20 Oct 2011 08:50:56 -0700 Subject: Mark tiles dirty, even if repainting bug:5484131 The current repainting tile could avoid being painted with the newest picture if it was repainting, since markAsDirty wouldn't change its state Change-Id: I4f3de909984d1ceb872bf294a1da211ad87c9bcc --- Source/WebCore/platform/graphics/android/BaseTile.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Source/WebCore/platform') diff --git a/Source/WebCore/platform/graphics/android/BaseTile.cpp b/Source/WebCore/platform/graphics/android/BaseTile.cpp index f0b0dd2..98eb623 100644 --- a/Source/WebCore/platform/graphics/android/BaseTile.cpp +++ b/Source/WebCore/platform/graphics/android/BaseTile.cpp @@ -190,13 +190,14 @@ void BaseTile::markAsDirty(int unsigned pictureCount, // current paint m_state = Unpainted; } else if (m_state != Unpainted) { - // layer tiles and prefetch page tiles are potentially marked dirty - // while in the process of painting, due to not using an update lock - // TODO: fix it so that they can paint while deferring the markAsDirty // call (or block updates) XLOG("Warning: tried to mark tile %p at %d, %d islayertile %d as dirty, state %d, page %p", this, m_x, m_y, isLayerTile(), m_state, m_page); + + // prefetch tiles can be marked dirty while in the process of painting, + // due to not using an update lock. force them to fail validate step. + m_state = Unpainted; } } -- cgit v1.1