Index: chromeos/dbus/ibus/ibus_engine_service.cc |
diff --git a/chromeos/dbus/ibus/ibus_engine_service.cc b/chromeos/dbus/ibus/ibus_engine_service.cc |
index 5277fcb302cd1ac9d3e204df4aa1f5a5fe2b0f12..a5e298dad96b8957e32ca3b6827dc6b80f2117c7 100644 |
--- a/chromeos/dbus/ibus/ibus_engine_service.cc |
+++ b/chromeos/dbus/ibus/ibus_engine_service.cc |
@@ -136,6 +136,8 @@ class IBusEngineServiceImpl : public IBusEngineService { |
// IBusEngineService override. |
virtual void SetEngine(IBusEngineHandlerInterface* handler) OVERRIDE { |
DVLOG_IF(1, engine_handler_ != NULL) << "Replace engine."; |
+ if (engine_handler_) |
+ engine_handler_->Disable(); |
engine_handler_ = handler; |
} |