| Index: src/core/SkPicture.cpp
|
| diff --git a/src/core/SkPicture.cpp b/src/core/SkPicture.cpp
|
| index c2c8aaf57251e8851ca7bc124875a985ef47fa51..7120f611791d1632b7dc2ccb2c800d44da868756 100644
|
| --- a/src/core/SkPicture.cpp
|
| +++ b/src/core/SkPicture.cpp
|
| @@ -137,7 +137,13 @@ SkPicturePlayback* SkPicture::FakeEndRecording(const SkPicture* resourceSrc,
|
| const SkPictureRecord& record) {
|
| SkPictInfo info;
|
| resourceSrc->createHeader(&info);
|
| - return SkNEW_ARGS(SkPicturePlayback, (resourceSrc, record, info));
|
| +
|
| + // FakeEndRecording is only called from partialReplay. For that use case
|
| + // we cannot be certain that the next call to SkWriter32::overwriteTAt
|
| + // will be preceded by an append (i.e., that the required copy on write
|
| + // will occur). In this case just force a deep copy of the operations.
|
| + const bool deepCopyOps = true;
|
| + return SkNEW_ARGS(SkPicturePlayback, (resourceSrc, record, info, deepCopyOps));
|
| }
|
|
|
| SkPicture::SkPicture(const SkPicture& src)
|
|
|