From 4a2116bcd28845e9da5b2436c97c4b3b45477c96 Mon Sep 17 00:00:00 2001 From: harry Date: Fri, 11 Oct 2019 13:35:04 +0000 Subject: [PATCH] Bug 1588084 - Add null-checking to isUrlbarFocused to avoid crashes on window shutdown. r=mikedeboer Differential Revision: https://phabricator.services.mozilla.com/D48966 --- browser/components/touchbar/MacTouchBar.js | 3 +++ widget/cocoa/nsTouchBar.mm | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/browser/components/touchbar/MacTouchBar.js b/browser/components/touchbar/MacTouchBar.js index a5a97c03cf65..416b2a3ca267 100644 --- a/browser/components/touchbar/MacTouchBar.js +++ b/browser/components/touchbar/MacTouchBar.js @@ -293,6 +293,9 @@ class TouchBarHelper { } get isUrlbarFocused() { + if (!TouchBarHelper.window || !TouchBarHelper.window.gURLBar) { + return false; + } return TouchBarHelper.window.gURLBar.focused; } diff --git a/widget/cocoa/nsTouchBar.mm b/widget/cocoa/nsTouchBar.mm index 49a9c4131d33..1d17e537f132 100644 --- a/widget/cocoa/nsTouchBar.mm +++ b/widget/cocoa/nsTouchBar.mm @@ -362,6 +362,11 @@ - (void)updatePopover:(NSPopoverTouchBarItem*)aPopoverItem input:(TouchBarInput* // Special handling to show/hide the search popover if the Urlbar is focused. if ([[aInput nativeIdentifier] isEqualToString:SearchPopoverIdentifier]) { + // We can reach this code during window shutdown. We only want to toggle + // showPopover if we are in a normal running state. + if (!mTouchBarHelper) { + return; + } bool urlbarIsFocused = false; mTouchBarHelper->GetIsUrlbarFocused(&urlbarIsFocused); if (urlbarIsFocused) {