From 81eedd4faf73f7066f40ccd7cc4e1a46dd0423cd Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Tue, 17 Jun 2014 16:33:52 +0800 Subject: [PATCH] mac: Fix handling event from other windows. --- atom/browser/native_window_mac.mm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/atom/browser/native_window_mac.mm b/atom/browser/native_window_mac.mm index f1c9c9fec8..e3e54513f9 100644 --- a/atom/browser/native_window_mac.mm +++ b/atom/browser/native_window_mac.mm @@ -504,10 +504,17 @@ void NativeWindowMac::HandleKeyboardEvent( event.type == content::NativeWebKeyboardEvent::Char) return; - EventProcessingWindow* event_window = - static_cast(window_); - DCHECK([event_window isKindOfClass:[EventProcessingWindow class]]); - [event_window redispatchKeyEvent:event.os_event]; + if (event.os_event.window == window_) { + EventProcessingWindow* event_window = + static_cast(window_); + DCHECK([event_window isKindOfClass:[EventProcessingWindow class]]); + [event_window redispatchKeyEvent:event.os_event]; + } else { + // The event comes from detached devtools view, and it has already been + // handled by the devtools itself, we now send it to application menu to + // make menu acclerators work. + [[NSApp mainMenu] performKeyEquivalent:event.os_event]; + } } void NativeWindowMac::InstallView() {