summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jozef BABJAK <jozef.babjak@gmail.com> 2011-02-22 09:33:19 +0100
committer Jozef BABJAK <jozef.babjak@gmail.com> 2011-02-22 09:33:19 +0100
commit93c5b6a81da8f7348ae43c860d21617eed4fa6d7 (patch)
tree1537fc55b9e8beea2799e28b0ff0d924906c890c
parent7118bdec523568842e70555e353951df9f2596fd (diff)
Releasing lock even if exception is thrown.
However, the whole method needs to be reviewed. It still has several locking/unlocking places not tied together by try-finally construct, but they cannot be fixed without deeper understanding. Change-Id: Iaaf87568d585327654be409377b6d57a1da135eb
-rw-r--r--core/java/android/view/ViewRoot.java9
1 files changed, 5 insertions, 4 deletions
diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java
index c58207ee9999..ccaef408a9f4 100644
--- a/core/java/android/view/ViewRoot.java
+++ b/core/java/android/view/ViewRoot.java
@@ -1065,10 +1065,11 @@ public final class ViewRoot extends Handler implements ViewParent,
}
}
mSurfaceHolder.mSurfaceLock.lock();
- // Make surface invalid.
- //mSurfaceHolder.mSurface.copyFrom(mSurface);
- mSurfaceHolder.mSurface = new Surface();
- mSurfaceHolder.mSurfaceLock.unlock();
+ try {
+ mSurfaceHolder.mSurface = new Surface();
+ } finally {
+ mSurfaceHolder.mSurfaceLock.unlock();
+ }
}
}