diff --git a/qt/aqt/main.py b/qt/aqt/main.py index 976471d9c..579c75cf4 100644 --- a/qt/aqt/main.py +++ b/qt/aqt/main.py @@ -519,7 +519,16 @@ class AnkiQt(QMainWindow): self.mediaServer.shutdown() # Rust background jobs are not awaited implicitly self.backend.await_backup_completion() - self.app.exit(0) + self.deleteLater() + app = self.app + + def exit(): + # try to ensure Qt objects are deleted in a logical order, + # to prevent crashes on shutdown + gc.collect() + app.exit(0) + + self.progress.single_shot(100, exit, False) # Sound/video ##########################################################################