Index: ui/views/win/hwnd_message_handler.cc |
diff --git a/ui/views/win/hwnd_message_handler.cc b/ui/views/win/hwnd_message_handler.cc |
index d726ea930d98d95feceb2da247503f41c5fabb27..f589c84dee2f2385e87388c91674f22aa75212cc 100644 |
--- a/ui/views/win/hwnd_message_handler.cc |
+++ b/ui/views/win/hwnd_message_handler.cc |
@@ -1452,8 +1452,11 @@ LRESULT HWNDMessageHandler::OnImeMessages(UINT message, |
WPARAM w_param, |
LPARAM l_param) { |
LRESULT result = 0; |
- SetMsgHandled(delegate_->HandleIMEMessage( |
- message, w_param, l_param, &result)); |
+ base::WeakPtr<HWNDMessageHandler> ref(weak_factory_.GetWeakPtr()); |
+ const bool msg_handled = |
+ delegate_->HandleIMEMessage(message, w_param, l_param, &result); |
+ if (ref.get()) |
+ SetMsgHandled(msg_handled); |
return result; |
} |