diff options
| author | Thierry Strudel <thierry.strudel@intel.com> | 2014-08-22 11:19:09 -0700 |
|---|---|---|
| committer | Pat Tjin <pattjin@google.com> | 2014-08-22 19:48:27 +0000 |
| commit | 5474f3396a963196fa6dc05add85429e2358ec1a (patch) | |
| tree | 831c1db3eadd13248428a831793968095d022206 | |
| parent | f9220b39533d18b6c79099c32522b3ff712ff89b (diff) | |
| download | frameworks_base-5474f3396a963196fa6dc05add85429e2358ec1a.zip frameworks_base-5474f3396a963196fa6dc05add85429e2358ec1a.tar.gz frameworks_base-5474f3396a963196fa6dc05add85429e2358ec1a.tar.bz2 | |
SurfaceControl: free ref when not used anymore
C standard does not ensure order in which arguments are evaluated leading to
faulty behavior in x86 case.
Bug: 17206275
Change-Id: I6553c55bcf646d93413135aed733f20b91852735
Signed-off-by: Thierry Strudel <thierry.strudel@intel.com>
| -rw-r--r-- | core/jni/android_view_SurfaceControl.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp index 3fb084a..8f30f5d 100644 --- a/core/jni/android_view_SurfaceControl.cpp +++ b/core/jni/android_view_SurfaceControl.cpp @@ -180,7 +180,8 @@ static jobject nativeScreenshotBitmap(JNIEnv* env, jclass clazz, // takes ownership of ScreenshotClient SkMallocPixelRef* pixels = SkMallocPixelRef::NewWithProc(screenshotInfo, (size_t) rowBytes, NULL, (void*) screenshot->getPixels(), &DeleteScreenshot, - (void*) (screenshot.detach())); + (void*) (screenshot.get())); + screenshot.detach(); pixels->setImmutable(); bitmap->setPixelRef(pixels)->unref(); bitmap->lockPixels(); |
