Index: ui/base/ime/input_method_tsf.cc |
diff --git a/ui/base/ime/input_method_tsf.cc b/ui/base/ime/input_method_tsf.cc |
index ab720f11da4a6600dced99fdf7eafba0f9b5c80c..65699ce8c575166faecea9dc982f3ae6c4985afe 100644 |
--- a/ui/base/ime/input_method_tsf.cc |
+++ b/ui/base/ime/input_method_tsf.cc |
@@ -89,6 +89,11 @@ void InputMethodTSF::SetFocusedTextInputClient(TextInputClient* client) { |
if (IsWindowFocused(client)) { |
ui::TSFBridge::GetInstance()->SetFocusedClient( |
GetAttachedWindowHandle(client), client); |
+ } else if (!client) { |
+ // SetFocusedTextInputClient(NULL) must be interpreted as |
+ // "Remove the attached client". |
+ ui::TSFBridge::GetInstance()->RemoveFocusedClient( |
+ ui::TSFBridge::GetInstance()->GetFocusedTextInputClient()); |
} |
InputMethodWin::SetFocusedTextInputClient(client); |
} |