diff options
Diffstat (limited to 'core/java/android/inputmethodservice/IInputMethodWrapper.java')
| -rw-r--r-- | core/java/android/inputmethodservice/IInputMethodWrapper.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/java/android/inputmethodservice/IInputMethodWrapper.java b/core/java/android/inputmethodservice/IInputMethodWrapper.java index 93063739cfd6..06d8e4a8cb2e 100644 --- a/core/java/android/inputmethodservice/IInputMethodWrapper.java +++ b/core/java/android/inputmethodservice/IInputMethodWrapper.java @@ -279,6 +279,10 @@ class IInputMethodWrapper extends IInputMethod.Stub try { InputMethodSession ls = ((IInputMethodSessionWrapper) session).getInternalInputMethodSession(); + if (ls == null) { + Log.w(TAG, "Session is already finished: " + session); + return; + } mCaller.executeOrSendMessage(mCaller.obtainMessageIO( DO_SET_SESSION_ENABLED, enabled ? 1 : 0, ls)); } catch (ClassCastException e) { @@ -291,6 +295,10 @@ class IInputMethodWrapper extends IInputMethod.Stub try { InputMethodSession ls = ((IInputMethodSessionWrapper) session).getInternalInputMethodSession(); + if (ls == null) { + Log.w(TAG, "Session is already finished: " + session); + return; + } mCaller.executeOrSendMessage(mCaller.obtainMessageO(DO_REVOKE_SESSION, ls)); } catch (ClassCastException e) { Log.w(TAG, "Incoming session not of correct type: " + session, e); |
