diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp index 7a599e93e73b1..bee5880ac4ccf 100644 --- a/cmds/screencap/screencap.cpp +++ b/cmds/screencap/screencap.cpp @@ -28,6 +28,7 @@ #include #include +#include #include using namespace android; @@ -168,7 +169,9 @@ int main(int argc, char** argv) SkDynamicMemoryWStream stream; SkImageEncoder::EncodeStream(&stream, b, SkImageEncoder::kPNG_Type, SkImageEncoder::kDefaultQuality); - write(fd, stream.getStream(), stream.getOffset()); + SkData* streamData = stream.copyToData(); + write(fd, streamData->data(), streamData->size()); + streamData->unref(); } else { write(fd, &w, 4); write(fd, &h, 4); diff --git a/core/jni/android/graphics/Canvas.cpp b/core/jni/android/graphics/Canvas.cpp index 40ac7087f8cb8..c8ddccb7cc4b7 100644 --- a/core/jni/android/graphics/Canvas.cpp +++ b/core/jni/android/graphics/Canvas.cpp @@ -67,7 +67,7 @@ public: static void freeCaches(JNIEnv* env, jobject) { // these are called in no particular order SkImageRef_GlobalPool::SetRAMUsed(0); - SkGraphics::SetFontCacheUsed(0); + SkGraphics::PurgeFontCache(); } static jboolean isOpaque(JNIEnv* env, jobject jcanvas) {