| 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 a5e298dad96b8957e32ca3b6827dc6b80f2117c7..e670398fbbd5cfcde8908948435c4e8bb00cf4ff 100644
|
| --- a/chromeos/dbus/ibus/ibus_engine_service.cc
|
| +++ b/chromeos/dbus/ibus/ibus_engine_service.cc
|
| @@ -142,9 +142,9 @@ class IBusEngineServiceImpl : public IBusEngineService {
|
| }
|
|
|
| // IBusEngineService override.
|
| - virtual void UnsetEngine() OVERRIDE {
|
| - LOG_IF(ERROR, engine_handler_ == NULL) << "There is no engine.";
|
| - engine_handler_ = NULL;
|
| + virtual void UnsetEngine(IBusEngineHandlerInterface* handler) OVERRIDE {
|
| + if (engine_handler_ == handler)
|
| + engine_handler_ = NULL;
|
| }
|
|
|
| // IBusEngineService override.
|
| @@ -486,8 +486,9 @@ class IBusEngineServiceDaemonlessImpl : public IBusEngineService {
|
| }
|
|
|
| // IBusEngineService override.
|
| - virtual void UnsetEngine() OVERRIDE {
|
| - IBusBridge::Get()->SetEngineHandler(NULL);
|
| + virtual void UnsetEngine(IBusEngineHandlerInterface* handler) OVERRIDE {
|
| + if (IBusBridge::Get()->GetEngineHandler() == handler)
|
| + IBusBridge::Get()->SetEngineHandler(NULL);
|
| }
|
|
|
| // IBusEngineService override.
|
|
|