Memory leak in IInputMethodSessionWrapper executeMessage

In some cases the executeMessage is called with
mInputMethodSession == null. For the messages

DO_UPDATE_SELECTION, DO_APP_PRIVATE_COMMAND

memory is leaked. This commit recycles the args freeing
the allocated memory.
This commit is contained in:
Henrik Baard
2010-07-20 11:42:19 +02:00
parent 523db46f69
commit 857cdff078

View File

@@ -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;
}