OSDN Git Service

Fix potential deadlock while rendering the preview.
authorSascha Haeberling <haeberling@google.com>
Fri, 13 Sep 2013 20:42:29 +0000 (13:42 -0700)
committerSascha Haeberling <haeberling@google.com>
Fri, 13 Sep 2013 20:42:29 +0000 (13:42 -0700)
  Bug: 10748013

Change-Id: Id03053f47ee3c066347dd136b6abe9fb1a5d6502

src/com/android/camera/tinyplanet/TinyPlanetPreview.java

index 7e7aff5..153d266 100644 (file)
@@ -79,9 +79,11 @@ public class TinyPlanetPreview extends View {
     @Override
     protected void onDraw(Canvas canvas) {
         super.onDraw(canvas);
-        if (mLock != null && mLock.tryLock() && mPreview != null && !mPreview.isRecycled()) {
+        if (mLock != null && mLock.tryLock()) {
             try {
-                canvas.drawBitmap(mPreview, 0, 0, mPaint);
+                if (mPreview != null && !mPreview.isRecycled()) {
+                    canvas.drawBitmap(mPreview, 0, 0, mPaint);
+                }
             } finally {
                 mLock.unlock();
             }