Index: src/pipe/SkGPipeRead.cpp |
diff --git a/src/pipe/SkGPipeRead.cpp b/src/pipe/SkGPipeRead.cpp |
index f47f3bfe657875d8fb8d16ada4294f06c3cf7162..b242479617dc6e4e3c550aec9e319a109971346e 100644 |
--- a/src/pipe/SkGPipeRead.cpp |
+++ b/src/pipe/SkGPipeRead.cpp |
@@ -132,7 +132,7 @@ public: |
} else { |
bm = fBitmaps[index]; |
} |
- bm->unflatten(*fReader); |
+ fReader->readBitmap(bm); |
} |
/** |
@@ -772,12 +772,14 @@ SkGPipeState::~SkGPipeState() { |
SkGPipeReader::SkGPipeReader() { |
fCanvas = NULL; |
fState = NULL; |
+ fProc = NULL; |
} |
SkGPipeReader::SkGPipeReader(SkCanvas* target) { |
fCanvas = NULL; |
this->setCanvas(target); |
fState = NULL; |
+ fProc = NULL; |
} |
void SkGPipeReader::setCanvas(SkCanvas *target) { |
@@ -805,6 +807,7 @@ SkGPipeReader::Status SkGPipeReader::playback(const void* data, size_t length, |
const ReadProc* table = gReadTable; |
SkOrderedReadBuffer reader(data, length); |
+ reader.setBitmapDecoder(fProc); |
SkCanvas* canvas = fCanvas; |
Status status = kEOF_Status; |