diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py index 9982b9aaf..c52248c28 100644 --- a/qutebrowser/keyinput/modeman.py +++ b/qutebrowser/keyinput/modeman.py @@ -121,7 +121,7 @@ class EventFilter(QObject): window='current') return modeman.eventFilter(obj, event) except objreg.RegistryUnavailableError: - # No window available yet + # No window available yet, or not a MainWindow return False except: # If there is an exception in here and we leave the eventfilter diff --git a/qutebrowser/utils/objreg.py b/qutebrowser/utils/objreg.py index abec732c5..7889d607b 100644 --- a/qutebrowser/utils/objreg.py +++ b/qutebrowser/utils/objreg.py @@ -99,7 +99,10 @@ def _get_registry(scope, window): widget = tabbed_browser.currentWidget() if widget is None: raise RegistryUnavailableError(scope) - return widget.registry + try: + return widget.registry + except AttributeError: + raise RegistryUnavailableError(scope) elif scope == 'window': if window is None: raise TypeError("window is None with scope window!") @@ -113,7 +116,10 @@ def _get_registry(scope, window): win = window_registry[window] except KeyError: raise RegistryUnavailableError(scope) - return win.registry + try: + return win.registry + except AttributeError: + raise RegistryUnavailableError(scope) elif scope == 'meta': return meta_registry else: