am 05bbbebb: am 8d3cf106: am d4b38fe5: am 647e0df0: Merge "Surface: Leave object in unlocked state when unlockCanvasAndPost fails" into lmp-dev

* commit '05bbbebb475a2816d60c4a8ec140cccddc16b269':
  Surface: Leave object in unlocked state when unlockCanvasAndPost fails
This commit is contained in:
Jesse Hall
2014-10-14 17:22:33 +00:00
committed by Android Git Automerger

View File

@@ -250,7 +250,7 @@ public class Surface implements Parcelable {
// double-lock, but that won't happen if mNativeObject was updated. We can't
// abandon the old mLockedObject because it might still be in use, so instead
// we just refuse to re-lock the Surface.
throw new IllegalStateException("Surface was already locked");
throw new IllegalArgumentException("Surface was already locked");
}
mLockedObject = nativeLockCanvas(mNativeObject, mCanvas, inOutDirty);
return mCanvas;
@@ -279,9 +279,12 @@ public class Surface implements Parcelable {
if (mLockedObject == 0) {
throw new IllegalStateException("Surface was not locked");
}
nativeUnlockCanvasAndPost(mLockedObject, canvas);
nativeRelease(mLockedObject);
mLockedObject = 0;
try {
nativeUnlockCanvasAndPost(mLockedObject, canvas);
} finally {
nativeRelease(mLockedObject);
mLockedObject = 0;
}
}
}