diff --git a/qutebrowser/utils/objreg.py b/qutebrowser/utils/objreg.py index a9a265590..f5305c899 100644 --- a/qutebrowser/utils/objreg.py +++ b/qutebrowser/utils/objreg.py @@ -96,7 +96,12 @@ class ObjectRegistry(collections.UserDict): """Disconnect the destroyed slot if it was connected.""" if name in self._partial_objs: func = self._partial_objs[name] - self[name].destroyed.disconnect(func) + try: + self[name].destroyed.disconnect(func) + except RuntimeError: + # if C++ has deleted the object, the slot is already + # disconnected. + pass del self._partial_objs[name] def on_destroyed(self, name):