From 67b9337b6cc478973d2c628fb5686583ce339bf0 Mon Sep 17 00:00:00 2001
From: Satoshi Kataoka <satok@google.com>
Date: Tue, 19 Jun 2012 03:28:19 +0900
Subject: [PATCH] Fix possible NPE from a concurrent problem in LatinIME

Bug: 6620746
Change-Id: Icc18de92d7edc6888c712c2cf5ce479a65f8bfad
---
 java/src/com/android/inputmethod/latin/LatinIME.java | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 3456ce945..8c244d686 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -1971,7 +1971,8 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
         // want corrections enabled or learned.
         if (!mCurrentSettings.isCorrectionOn()) return null;
 
-        if (mUserHistoryDictionary != null) {
+        final UserHistoryDictionary userHistoryDictionary = mUserHistoryDictionary;
+        if (userHistoryDictionary != null) {
             final CharSequence prevWord
                     = mConnection.getPreviousWord(mCurrentSettings.mWordSeparators);
             final String secondWord;
@@ -1986,7 +1987,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
             final int maxFreq = AutoCorrection.getMaxFrequency(
                     mSuggest.getUnigramDictionaries(), suggestion);
             if (maxFreq == 0) return null;
-            mUserHistoryDictionary.addToUserHistory(null == prevWord ? null : prevWord.toString(),
+            userHistoryDictionary.addToUserHistory(null == prevWord ? null : prevWord.toString(),
                     secondWord, maxFreq > 0);
             return prevWord;
         }