From 1ce34a51afaaf6801ae338cb002cdaf84c5fa2ee Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 31 Aug 2014 20:32:38 +0530 Subject: [PATCH] Finally able to reproduce the problem of ghost dialogs that stick around after being closed, with the add a custom new source dialog. Workaround of calling deleteLater() seems to do the trick. --- src/calibre/gui2/dialogs/scheduler.py | 7 +++++-- src/calibre/gui2/metadata/single.py | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/dialogs/scheduler.py b/src/calibre/gui2/dialogs/scheduler.py index 8c020ba7ee..d56c612ff7 100644 --- a/src/calibre/gui2/dialogs/scheduler.py +++ b/src/calibre/gui2/dialogs/scheduler.py @@ -491,8 +491,11 @@ class Scheduler(QObject): def customize_feeds(self, *args): from calibre.gui2.dialogs.user_profiles import UserProfiles d = UserProfiles(self._parent, self.recipe_model) - d.exec_() - d.break_cycles() + try: + d.exec_() + d.break_cycles() + finally: + d.deleteLater() def do_download(self, urn): self.lock.lock() diff --git a/src/calibre/gui2/metadata/single.py b/src/calibre/gui2/metadata/single.py index c2435a1927..b11fe4b187 100644 --- a/src/calibre/gui2/metadata/single.py +++ b/src/calibre/gui2/metadata/single.py @@ -1048,7 +1048,8 @@ def edit_metadata(db, row_list, current_row, parent=None, view_slot=None, set_current_callback=set_current_callback) return d.changed, d.rows_to_refresh finally: - d.hide() # possible workaround for bug reports of occasional ghost edit metadata dialog on windows + # possible workaround for bug reports of occasional ghost edit metadata dialog on windows + d.deleteLater() if __name__ == '__main__': from calibre.gui2 import Application as QApplication