From b4d8a5aea73712bba9d650bea85a1080610b9bed Mon Sep 17 00:00:00 2001 From: Giuseppe Sucameli Date: Sun, 20 May 2012 18:16:33 +0200 Subject: [PATCH] DBManager: don't raise any errors while disconnecting signals from destroyed objects --- python/plugins/db_manager/table_viewer.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/python/plugins/db_manager/table_viewer.py b/python/plugins/db_manager/table_viewer.py index 2af9704ca05a..9ab9e35c17d3 100644 --- a/python/plugins/db_manager/table_viewer.py +++ b/python/plugins/db_manager/table_viewer.py @@ -67,7 +67,12 @@ def setDirty(self, val=True): def _clear(self): if self.item is not None: - self.disconnect(self.item, SIGNAL('aboutToChange'), self.setDirty) + try: + self.disconnect(self.item, SIGNAL('aboutToChange'), self.setDirty) + except: + # do not raise any error if self.item was deleted + pass + self.item = None self.dirty = False @@ -83,11 +88,13 @@ def _loadTableData(self, table): self.setModel( table.tableDataModel(self) ) except DbError, e: - QApplication.restoreOverrideCursor() DlgDbError.showError(e, self) + return else: self.update() + + finally: QApplication.restoreOverrideCursor()