From 377b7afb03862e773dce597274dc8f2ea3298986 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sun, 7 Oct 2018 15:46:40 +0200 Subject: Fix crash when closing tab during a search (cherry picked from commit b130162d56bd5f8d5e0784c6f6efe4c894212722) --- qutebrowser/browser/webengine/webenginetab.py | 7 +++++++ tests/end2end/features/search.feature | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index b00587bf6..c84c295bd 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -183,6 +183,13 @@ class WebEngineSearch(browsertab.AbstractSearch): self._pending_searches)) return + if sip.isdeleted(self._widget): + # This happens when starting a search, and closing the tab + # before results arrive. + log.webview.debug("Ignoring finished search for deleted " + "widget") + return + found_text = 'found' if found else "didn't find" if flags: flag_text = 'with flags {}'.format(debug.qflags_key( diff --git a/tests/end2end/features/search.feature b/tests/end2end/features/search.feature index f6c12e98d..8d9d28e78 100644 --- a/tests/end2end/features/search.feature +++ b/tests/end2end/features/search.feature @@ -283,3 +283,9 @@ Feature: Searching on a page Then the following tabs should be open: - data/iframe_search.html - data/hello.txt (active) + + Scenario: Closing a tab during a search + When I run :open -b about:blank + And I run :search a + And I run :tab-close + Then no crash should happen -- cgit v1.2.3-54-g00ecf