summaryrefslogtreecommitdiffstats
path: root/core/java/android/view/View.java
diff options
context:
space:
mode:
authorKoji Fukui <koji.fukui@sonymobile.com>2013-04-01 14:37:01 +0900
committerTakeshi Aimi <takeshi.aimi@sonymobile.com>2013-05-01 17:20:25 +0900
commitc6031ab7c80b9bf8c19f3bced4797bb0bacae3f2 (patch)
treecb390856b96e4b1ea267d35d4100ecb3be75d302 /core/java/android/view/View.java
parentddf7a0660c456a975b12794c54fd6681e422ef29 (diff)
downloadframeworks_base-c6031ab7c80b9bf8c19f3bced4797bb0bacae3f2.zip
frameworks_base-c6031ab7c80b9bf8c19f3bced4797bb0bacae3f2.tar.gz
frameworks_base-c6031ab7c80b9bf8c19f3bced4797bb0bacae3f2.tar.bz2
Avoid NullPointerException in getHandler()
mAttachInfo may be set to null by other threads while running getHandler(). This fix assigns mAttachInfo to a local variable. Checking null pointer and getting a member variable are executed through the local variable. This local variable is constant. So NullPointerException doesn't occur even if mAttachInfo is set to null while running getHandler(). Change-Id: I4013dfb7951bd864628868ed58f8c4f5b7cbd1d3
Diffstat (limited to 'core/java/android/view/View.java')
-rw-r--r--core/java/android/view/View.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 0d2141f..75b8e97 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -10525,8 +10525,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
* handler can be used to pump events in the UI events queue.
*/
public Handler getHandler() {
- if (mAttachInfo != null) {
- return mAttachInfo.mHandler;
+ final AttachInfo attachInfo = mAttachInfo;
+ if (attachInfo != null) {
+ return attachInfo.mHandler;
}
return null;
}