From 7a521c655f954ef994d4f08eea29a42b359ec9fe Mon Sep 17 00:00:00 2001 From: Ebag333 Date: Fri, 27 Jan 2017 14:24:53 -0800 Subject: [PATCH] Wrap dlg.Destroy() in a Try/Except Conflicts: gui/mainFrame.py --- gui/mainFrame.py | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/gui/mainFrame.py b/gui/mainFrame.py index 623286669..7e2eb072f 100644 --- a/gui/mainFrame.py +++ b/gui/mainFrame.py @@ -26,6 +26,7 @@ import wx import time from codecs import open +from wx._core import PyDeadObjectError from wx.lib.wordwrap import wordwrap @@ -70,6 +71,9 @@ from service.port import Port from service.settings import HTMLExportSettings from time import gmtime, strftime +import logging + +logger = logging.getLogger(__name__) import threading import webbrowser @@ -389,7 +393,10 @@ class MainFrame(wx.Frame): def showDamagePatternEditor(self, event): dlg = DmgPatternEditorDlg(self) dlg.ShowModal() - dlg.Destroy() + try: + dlg.Destroy() + except PyDeadObjectError: + logger.error("Tried to destroy an object that doesn't exist in .") def showImplantSetEditor(self, event): ImplantSetEditorDlg(self) @@ -414,14 +421,20 @@ class MainFrame(wx.Frame): path += ".xml" else: print("oops, invalid fit format %d" % format_) - dlg.Destroy() + try: + dlg.Destroy() + except PyDeadObjectError: + logger.error("Tried to destroy an object that doesn't exist in .") return with open(path, "w", encoding="utf-8") as openfile: openfile.write(output) openfile.close() - dlg.Destroy() + try: + dlg.Destroy() + except PyDeadObjectError: + logger.error("Tried to destroy an object that doesn't exist in .") def showPreferenceDialog(self, event): dlg = PreferenceDialog(self) @@ -732,7 +745,10 @@ class MainFrame(wx.Frame): CopySelectDict[selected]() - dlg.Destroy() + try: + dlg.Destroy() + except PyDeadObjectError: + logger.error("Tried to destroy an object that doesn't exist in .") def exportSkillsNeeded(self, event): """ Exports skills needed for active fit and active character """ @@ -786,7 +802,10 @@ class MainFrame(wx.Frame): self.progressDialog.message = None sPort.importFitsThreaded(dlg.GetPaths(), self.fileImportCallback) self.progressDialog.ShowModal() - dlg.Destroy() + try: + dlg.Destroy() + except PyDeadObjectError: + logger.error("Tried to destroy an object that doesn't exist in .") def backupToXml(self, event): """ Back up all fits to EVE XML file """