| Index: views/widget/widget.cc
|
| diff --git a/views/widget/widget.cc b/views/widget/widget.cc
|
| index c9a0f06d157e1c57e184d5f9d1ce5736ac1ba029..e108e843586e5ca30d16dff975a0a4902bb7f17a 100644
|
| --- a/views/widget/widget.cc
|
| +++ b/views/widget/widget.cc
|
| @@ -622,7 +622,12 @@ InputMethod* Widget::GetInputMethod() {
|
| return input_method_.get();
|
| } else {
|
| Widget* toplevel = GetTopLevelWidget();
|
| - return toplevel ? toplevel->GetInputMethod() : NULL;
|
| + // If GetTopLevelWidget() returns itself which is not toplevel,
|
| + // the widget is detached from toplevel widget.
|
| + // TODO(oshima): Fix GetTopLevelWidget() to return NULL
|
| + // if there is no toplevel. We probably need to add GetTopMostWidget()
|
| + // to replace some use cases.
|
| + return (toplevel && toplevel != this) ? toplevel->GetInputMethod() : NULL;
|
| }
|
| }
|
|
|
|
|