From 9533312e0d472bed1c74d867c59452e95ee5591b Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Sun, 28 Sep 2014 22:53:24 +0200 Subject: [PATCH] Fix event filter when a non-Mainwindow dialog has an event. --- qutebrowser/keyinput/modeman.py | 2 +- qutebrowser/utils/objreg.py | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) 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: