Title: [124829] trunk/Source/WebCore
- Revision
- 124829
- Author
- [email protected]
- Date
- 2012-08-06 18:34:14 -0700 (Mon, 06 Aug 2012)
Log Message
Clear out the TileCache backpointer for all tile layers when the tile cache is destroyed
https://bugs.webkit.org/show_bug.cgi?id=93317
<rdar://problem/11566543>
Reviewed by Dean Jackson.
It seems that in some rare cases, the tile cache layer can be destroyed in the same transaction as tile layers
are being asked to paint. Make sure to null out the TileCache back pointer for all layers in the TileCache destructor.
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::~TileCache):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (124828 => 124829)
--- trunk/Source/WebCore/ChangeLog 2012-08-07 01:19:05 UTC (rev 124828)
+++ trunk/Source/WebCore/ChangeLog 2012-08-07 01:34:14 UTC (rev 124829)
@@ -1,3 +1,17 @@
+2012-08-06 Anders Carlsson <[email protected]>
+
+ Clear out the TileCache backpointer for all tile layers when the tile cache is destroyed
+ https://bugs.webkit.org/show_bug.cgi?id=93317
+ <rdar://problem/11566543>
+
+ Reviewed by Dean Jackson.
+
+ It seems that in some rare cases, the tile cache layer can be destroyed in the same transaction as tile layers
+ are being asked to paint. Make sure to null out the TileCache back pointer for all layers in the TileCache destructor.
+
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::~TileCache):
+
2012-08-06 Sheriff Bot <[email protected]>
Unreviewed, rolling out r124816.
Modified: trunk/Source/WebCore/platform/graphics/ca/mac/TileCache.mm (124828 => 124829)
--- trunk/Source/WebCore/platform/graphics/ca/mac/TileCache.mm 2012-08-07 01:19:05 UTC (rev 124828)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/TileCache.mm 2012-08-07 01:34:14 UTC (rev 124829)
@@ -73,6 +73,11 @@
TileCache::~TileCache()
{
ASSERT(isMainThread());
+
+ for (TileMap::iterator it = m_tiles.begin(), end = m_tiles.end(); it != end; ++it) {
+ WebTileLayer* tileLayer = it->second.get();
+ [tileLayer setTileCache:0];
+ }
}
void TileCache::tileCacheLayerBoundsChanged()
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes