diff options
author | nona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-22 08:18:03 +0000 |
---|---|---|
committer | nona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-22 08:18:03 +0000 |
commit | 9da6c415d3ef025417272f6f88b42f575d6d3e66 (patch) | |
tree | 86138575e6e7ace5d447156ed79f90e908355b16 /ui/base/ime | |
parent | e1619ee0211a743d7896157c94d73fd33ca3d9ae (diff) | |
download | chromium_src-9da6c415d3ef025417272f6f88b42f575d6d3e66.zip chromium_src-9da6c415d3ef025417272f6f88b42f575d6d3e66.tar.gz chromium_src-9da6c415d3ef025417272f6f88b42f575d6d3e66.tar.bz2 |
Fix crashes in ProcessKeyEventDone.
This crash was introduced by crrev.com/162941.
BUG=None
TEST=Manually done on lumpy.
Review URL: https://chromiumcodereview.appspot.com/11227019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163239 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/base/ime')
-rw-r--r-- | ui/base/ime/input_method_ibus.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/ui/base/ime/input_method_ibus.cc b/ui/base/ime/input_method_ibus.cc index 495eb52..523782f 100644 --- a/ui/base/ime/input_method_ibus.cc +++ b/ui/base/ime/input_method_ibus.cc @@ -141,7 +141,9 @@ void InputMethodIBus::ProcessKeyEventDone(uint32 id, if (event->type == KeyPress || event->type == KeyRelease) ProcessKeyEventPostIME(event, keyval, is_handled); - pending_key_events_.erase(it); + // Do not use |it| for erasing, ProcessKeyEventPostIME may change the + // |pending_key_events_|. + pending_key_events_.erase(id); } void InputMethodIBus::DispatchKeyEvent(const base::NativeEvent& native_event) { |