summaryrefslogtreecommitdiffstats
path: root/ui/base/ime
diff options
context:
space:
mode:
authornona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-22 08:18:03 +0000
committernona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-22 08:18:03 +0000
commit9da6c415d3ef025417272f6f88b42f575d6d3e66 (patch)
tree86138575e6e7ace5d447156ed79f90e908355b16 /ui/base/ime
parente1619ee0211a743d7896157c94d73fd33ca3d9ae (diff)
downloadchromium_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.cc4
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) {