| Index: src/pipe/utils/SamplePipeControllers.cpp
|
| diff --git a/src/pipe/utils/SamplePipeControllers.cpp b/src/pipe/utils/SamplePipeControllers.cpp
|
| index de26346a15ab0fb8aea789e356af629d279601b2..1e25cb61c40f5890887d046d10ef538d02f9b5d9 100644
|
| --- a/src/pipe/utils/SamplePipeControllers.cpp
|
| +++ b/src/pipe/utils/SamplePipeControllers.cpp
|
| @@ -13,16 +13,23 @@
|
| #include "SkMatrix.h"
|
|
|
| PipeController::PipeController(SkCanvas* target, SkPicture::InstallPixelRefProc proc)
|
| - : fReader(target), fBlockSize(0), fBytesWritten(0) {
|
| +:fReader(target) {
|
| + fBlock = NULL;
|
| + fBlockSize = fBytesWritten = 0;
|
| fReader.setBitmapDecoder(proc);
|
| }
|
|
|
| -void* PipeController::requestBlock(size_t minRequest, size_t* actual) {
|
| - fBlockSize = minRequest;
|
| - fBlock.reset(fBlockSize);
|
| +PipeController::~PipeController() {
|
| + sk_free(fBlock);
|
| +}
|
| +
|
| +void* PipeController::requestBlock(size_t minRequest, size_t *actual) {
|
| + sk_free(fBlock);
|
| + fBlockSize = minRequest * 4;
|
| + fBlock = sk_malloc_throw(fBlockSize);
|
| fBytesWritten = 0;
|
| *actual = fBlockSize;
|
| - return fBlock.get();
|
| + return fBlock;
|
| }
|
|
|
| void PipeController::notifyWritten(size_t bytes) {
|
|
|