Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(217)

Unified Diff: chromeos/dbus/ibus/ibus_engine_service.cc

Issue 14404007: Fix crash on extension IME reloading on Linux Desktop with chromeos=1. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressing comments Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/dbus/ibus/ibus_engine_service.h ('k') | chromeos/dbus/ibus/ibus_engine_service_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « chromeos/dbus/ibus/ibus_engine_service.h ('k') | chromeos/dbus/ibus/ibus_engine_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698