From 2f77f9c03e016f6d453c1fa799c9f68c30acf0dd Mon Sep 17 00:00:00 2001 From: Daniel 2 Olofsson Date: Mon, 10 Jun 2013 14:49:14 +0200 Subject: [PATCH] Fixed race condition in Spinner.DialogPopup on null reference. NullPointerException is triggered when DialogPopup is dismissed due to object mPopup being null when not showing. Race condition is triggered when dialog is dismissed before touch event to dismiss dialog has been processed properly. Fixed by adding a null check prior to accessing mPopup object. Change-Id: I3c4fe9c279d92a7103fb4f68189d1d42beedc606 --- core/java/android/widget/Spinner.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/java/android/widget/Spinner.java b/core/java/android/widget/Spinner.java index 925864c9e3118..b914d8b4ee649 100644 --- a/core/java/android/widget/Spinner.java +++ b/core/java/android/widget/Spinner.java @@ -837,8 +837,10 @@ public class Spinner extends AbsSpinner implements OnClickListener { private CharSequence mPrompt; public void dismiss() { - mPopup.dismiss(); - mPopup = null; + if (mPopup != null) { + mPopup.dismiss(); + mPopup = null; + } } public boolean isShowing() {