diff options
author | Florian Bruhin <me@the-compiler.org> | 2018-10-07 15:46:40 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2018-10-07 15:47:44 +0200 |
commit | 377b7afb03862e773dce597274dc8f2ea3298986 (patch) | |
tree | 9215e6442c35f0fb5c9499b375751d4ccf146446 | |
parent | df354bf5ed7d80ae9f6f0b1189b4310e6d577d16 (diff) | |
download | qutebrowser-377b7afb03862e773dce597274dc8f2ea3298986.tar.gz qutebrowser-377b7afb03862e773dce597274dc8f2ea3298986.zip |
Fix crash when closing tab during a search
(cherry picked from commit b130162d56bd5f8d5e0784c6f6efe4c894212722)
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 7 | ||||
-rw-r--r-- | tests/end2end/features/search.feature | 6 |
2 files changed, 13 insertions, 0 deletions
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 |