Browse Source

Fix issues with crash handler and log file creation on Windows

Arjen Hiemstra 9 years ago
parent
commit
ba86352642
2 changed files with 6 additions and 5 deletions
  1. 1 2
      cura/CrashHandler.py
  2. 5 3
      cura_app.py

+ 1 - 2
cura/CrashHandler.py

@@ -5,14 +5,13 @@ import webbrowser
 
 from PyQt5.QtCore import QT_VERSION_STR, PYQT_VERSION_STR, QCoreApplication
 from PyQt5.QtWidgets import QDialog, QDialogButtonBox, QVBoxLayout, QLabel, QTextEdit
-from UM.Application import Application
 from UM.i18n import i18nCatalog
 catalog = i18nCatalog("cura")
 
 debug_mode = False
 
 def show(exception_type, value, tb):
-    if Application.getInstance().getCommandLineOption("debug-mode", False):
+    if QCoreApplication.instance() and QCoreApplication.instance().getCommandLineOption("debug-mode", False):
         debug_mode = True
 
     traceback.print_exception(exception_type, value, tb)

+ 5 - 3
cura_app.py

@@ -14,9 +14,11 @@ sys.excepthook = exceptHook
 import cura.CuraApplication
 
 if sys.platform == "win32" and hasattr(sys, "frozen"):
-    import os.path
-    sys.stdout = open(os.path.expanduser("~/AppData/Local/cura/stdout.log"), "w")
-    sys.stderr = open(os.path.expanduser("~/AppData/Local/cura/stderr.log"), "w")
+    import os
+    dirpath = os.path.expanduser("~/AppData/Local/cura/")
+    os.makedirs(dirpath, exist_ok = True)
+    sys.stdout = open(os.path.join(dirpath, "stdout.log"), "w")
+    sys.stderr = open(os.path.join(dirpath, "stderr.log"), "w")
 
 app = cura.CuraApplication.CuraApplication.getInstance()
 app.run()