diff options
author | Florian Bruhin <me@the-compiler.org> | 2021-06-01 11:26:11 +0200 |
---|---|---|
committer | Florian Bruhin <me@the-compiler.org> | 2021-06-01 16:48:04 +0200 |
commit | a3f9cad456f69a9febb65a27510f56d0d8b2f34f (patch) | |
tree | 8b21bc18a77fe8a51673e7f0e559031c49b0393b | |
parent | b4b65b8cd158aecea11e7d074d941f8c3908ab66 (diff) | |
download | qutebrowser-a3f9cad456f69a9febb65a27510f56d0d8b2f34f.tar.gz qutebrowser-a3f9cad456f69a9febb65a27510f56d0d8b2f34f.zip |
Speculative fix for deleted WebEngineCaret
(Hopefully) fixes #6394.
-rw-r--r-- | qutebrowser/browser/webengine/webenginetab.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 011ae6514..f9b636bde 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -401,6 +401,16 @@ class WebEngineCaret(browsertab.AbstractCaret): self._js_call('reverseSelection') def _follow_selected_cb_wrapped(self, js_elem, tab): + if sip.isdeleted(self): + # Sometimes, QtWebEngine JS callbacks seem to be stuck, and will + # later get executed when the tab is closed. However, at this point, + # the WebEngineCaret is already gone. + log.webview.warning( + "Got follow_selected callback for deleted WebEngineCaret. " + "This is most likely due to a QtWebEngine bug, please report a " + "qutebrowser issue if you know a way to reproduce this.") + return + try: self._follow_selected_cb(js_elem, tab) finally: |