diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 536a0ac6403b6..05ff9f18af746 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -1626,8 +1626,11 @@ public class SurfaceView extends View implements ViewRootImpl.SurfaceChangedCall */ @Override public void unlockCanvasAndPost(Canvas canvas) { - mSurface.unlockCanvasAndPost(canvas); - mSurfaceLock.unlock(); + try { + mSurface.unlockCanvasAndPost(canvas); + } finally { + mSurfaceLock.unlock(); + } } @Override