diff options
author | Nicolas Roard <nicolasroard@google.com> | 2011-08-04 16:11:02 -0700 |
---|---|---|
committer | Nicolas Roard <nicolasroard@google.com> | 2011-08-04 16:58:57 -0700 |
commit | 8c8109615ff2d833bbcf6866e935e91188c00556 (patch) | |
tree | a8462b905def1ba9a70696d8a204bc6bff193f50 /Source/WebCore/platform/graphics/android/PaintTileOperation.cpp | |
parent | 82b16301ec89989ef436f317f2f23f57ed2e2660 (diff) | |
download | external_webkit-8c8109615ff2d833bbcf6866e935e91188c00556.zip external_webkit-8c8109615ff2d833bbcf6866e935e91188c00556.tar.gz external_webkit-8c8109615ff2d833bbcf6866e935e91188c00556.tar.bz2 |
Fixes layers painting crashes
bug:5097230 bug:5045149
Change-Id: I20fcae13e7f617658447c02bd51dc83d2914922e
Diffstat (limited to 'Source/WebCore/platform/graphics/android/PaintTileOperation.cpp')
-rw-r--r-- | Source/WebCore/platform/graphics/android/PaintTileOperation.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Source/WebCore/platform/graphics/android/PaintTileOperation.cpp b/Source/WebCore/platform/graphics/android/PaintTileOperation.cpp index 8abd250..d5623df 100644 --- a/Source/WebCore/platform/graphics/android/PaintTileOperation.cpp +++ b/Source/WebCore/platform/graphics/android/PaintTileOperation.cpp @@ -25,15 +25,18 @@ #include "config.h" #include "PaintTileOperation.h" +#include "LayerAndroid.h" namespace WebCore { -PaintTileOperation::PaintTileOperation(BaseTile* tile) +PaintTileOperation::PaintTileOperation(BaseTile* tile, LayerAndroid* layer) : QueuedOperation(QueuedOperation::PaintTile, tile->page()) , m_tile(tile) + , m_layer(layer) { if (m_tile) m_tile->setRepaintPending(true); + SkSafeRef(m_layer); } PaintTileOperation::~PaintTileOperation() @@ -42,6 +45,7 @@ PaintTileOperation::~PaintTileOperation() m_tile->setRepaintPending(false); m_tile = 0; } + SkSafeUnref(m_layer); } bool PaintTileOperation::operator==(const QueuedOperation* operation) |