From 7fdda6091ca0579e823cc014a000828dd53571e6 Mon Sep 17 00:00:00 2001 From: msarett Date: Fri, 13 Nov 2015 05:56:27 -0800 Subject: Lock pixels again after dummy reset of pixel ref in SkBitmapRegionCodec This fixes a bug in Android. We cannot access the pixels after calling decodeRegion() because the call to lock is missing. BUG=skia: Review URL: https://codereview.chromium.org/1442553003 --- tools/android/SkBitmapRegionCodec.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'tools/android') diff --git a/tools/android/SkBitmapRegionCodec.cpp b/tools/android/SkBitmapRegionCodec.cpp index 7c3c2471b0..415b60c5ab 100644 --- a/tools/android/SkBitmapRegionCodec.cpp +++ b/tools/android/SkBitmapRegionCodec.cpp @@ -129,6 +129,7 @@ bool SkBitmapRegionCodec::decodeRegion(SkBitmap* bitmap, SkBRDAllocator* allocat size_t rowBytes = pr->rowBytes(); bitmap->setInfo(outInfo, rowBytes); bitmap->setPixelRef(pr)->unref(); + bitmap->lockPixels(); SkCodec::Result result = fCodec->getAndroidPixels(decodeInfo, dst, rowBytes, &options); if (SkCodec::kSuccess != result && SkCodec::kIncompleteInput != result) { SkCodecPrintf("Error: Could not get pixels.\n"); -- cgit v1.2.3