Index: ui/views/widget/desktop_root_window_host_linux.cc |
diff --git a/ui/views/widget/desktop_root_window_host_linux.cc b/ui/views/widget/desktop_root_window_host_linux.cc |
index 8b8ca90f9ba4aad4897f1809e0adeec41bef8b8b..c135f6a3e9b580c04cb3c6e6c9a7570b2162a793 100644 |
--- a/ui/views/widget/desktop_root_window_host_linux.cc |
+++ b/ui/views/widget/desktop_root_window_host_linux.cc |
@@ -896,8 +896,12 @@ bool DesktopRootWindowHostLinux::Dispatch(const base::NativeEvent& event) { |
break; |
} |
case FocusOut: |
- if (xev->xfocus.mode != NotifyGrab) |
- root_window_host_delegate_->OnHostLostCapture(); |
+ if (xev->xfocus.mode != NotifyGrab) { |
+ ReleaseCapture(); |
+ root_window_host_delegate_->OnHostLostWindowCapture(); |
+ } else { |
+ root_window_host_delegate_->OnHostLostMouseGrab(); |
+ } |
break; |
case ConfigureNotify: { |
DCHECK_EQ(xwindow_, xev->xconfigure.window); |