From 2b6b4e82a7c65683483032e922a0683e87b5db18 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Thu, 3 May 2018 14:45:55 +0200 Subject: [PATCH] Handle event_target() being None As a stop-gap solution for #3888 --- qutebrowser/browser/browsertab.py | 6 ++++++ qutebrowser/browser/webengine/webenginetab.py | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py index aea15a257..2a9662eef 100644 --- a/qutebrowser/browser/browsertab.py +++ b/qutebrowser/browser/browsertab.py @@ -724,7 +724,13 @@ class AbstractTab(QWidget): if getattr(evt, 'posted', False): raise utils.Unreachable("Can't re-use an event which was already " "posted!") + recipient = self.event_target() + if recipient is None: + # https://github.com/qutebrowser/qutebrowser/issues/3888 + log.webview.warning("Unable to find event target!") + return + evt.posted = True QApplication.postEvent(recipient, evt) diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py index 145bc9c44..33a394d3f 100644 --- a/qutebrowser/browser/webengine/webenginetab.py +++ b/qutebrowser/browser/webengine/webenginetab.py @@ -1104,6 +1104,4 @@ class WebEngineTab(browsertab.AbstractTab): self.predicted_navigation.connect(self._on_predicted_navigation) def event_target(self): - fp = self._widget.focusProxy() - assert fp is not None - return fp + return self._widget.focusProxy()