diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 0927bc7b94270..5335d2587053b 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -1623,8 +1623,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