From 4c8ecbb40d5bfa30579a9dd638a935eeab30baa9 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 12 Nov 2014 20:22:49 +0100 Subject: [PATCH] Fix disconnecting from objreg for deleted objects. --- qutebrowser/utils/objreg.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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):