summaryrefslogtreecommitdiff
path: root/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@android.com>2013-10-29 21:01:13 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-10-29 21:01:13 +0000
commit4bf6eb1775649a803efcc6da8f06e5083ed24f34 (patch)
treee4bdfc7a2d5764611dc0e5f197292e23b2944dc2 /core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
parent6dbbba4e9adc3f1c2481698e42f4ffc0c68937f1 (diff)
parent857cdff07862b34d6f5f1815dec1d1e509594e35 (diff)
Merge "Memory leak in IInputMethodSessionWrapper executeMessage"
Diffstat (limited to 'core/java/android/inputmethodservice/IInputMethodSessionWrapper.java')
-rw-r--r--core/java/android/inputmethodservice/IInputMethodSessionWrapper.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java b/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
index 726dcec92eb5..bbea8ffa4334 100644
--- a/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
+++ b/core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
@@ -75,7 +75,15 @@ class IInputMethodSessionWrapper extends IInputMethodSession.Stub
@Override
public void executeMessage(Message msg) {
if (mInputMethodSession == null) {
- // The session has been finished.
+ // The session has been finished. Args needs to be recycled
+ // for cases below.
+ switch (msg.what) {
+ case DO_UPDATE_SELECTION:
+ case DO_APP_PRIVATE_COMMAND: {
+ SomeArgs args = (SomeArgs)msg.obj;
+ args.recycle();
+ }
+ }
return;
}