diff --git a/qutebrowser/app.py b/qutebrowser/app.py index f5f44b821..255f8ab7b 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -53,7 +53,6 @@ class Application(QApplication): """Main application instance. Attributes: - registry: The object registry of global objects. meta_registry: The object registry of object registries. _args: ArgumentParser instance. _commandrunner: The main CommandRunner instance. @@ -84,8 +83,7 @@ class Application(QApplication): 'main': False, } self.meta_registry = objreg.ObjectRegistry() - self.registry = objreg.ObjectRegistry() - self.meta_registry['global'] = self.registry + self.meta_registry['global'] = objreg.global_registry objreg.register('app', self) self._shutting_down = False self._keyparsers = None diff --git a/qutebrowser/utils/objreg.py b/qutebrowser/utils/objreg.py index f663b02a3..7636a0f0b 100644 --- a/qutebrowser/utils/objreg.py +++ b/qutebrowser/utils/objreg.py @@ -23,7 +23,7 @@ import collections import functools -from PyQt5.QtCore import QCoreApplication, QObject +from PyQt5.QtCore import QObject class UnsetObject: @@ -70,6 +70,9 @@ class ObjectRegistry(collections.UserDict): return lines +global_registry = ObjectRegistry() + + def get(name, default=_UNSET): """Helper function to get an object. @@ -77,7 +80,7 @@ def get(name, default=_UNSET): default: A default to return if the object does not exist. """ try: - return QCoreApplication.instance().registry[name] + return global_registry[name] except KeyError: if default is not _UNSET: return default @@ -93,13 +96,12 @@ def register(name, obj, update=False): obj: The object to register. update: If True, allows to update an already registered object. """ - registry = QCoreApplication.instance().registry - if not update and name in registry: + if not update and name in global_registry: raise KeyError("Object '{}' is already registered ({})!".format( - name, repr(registry[name]))) - registry[name] = obj + name, repr(global_registry[name]))) + global_registry[name] = obj def delete(name): """Helper function to unregister an object.""" - del QCoreApplication.instance().registry[name] + del global_registry[name]