mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-08-06 21:44:01 -06:00
Merge pull request #3005 from fieldOfView/fix_early_crash
Prevent CrashHandler creating a QWidget before QApplication is created
This commit is contained in:
commit
48cf6ad1c9
1 changed files with 4 additions and 3 deletions
|
@ -37,7 +37,7 @@ else:
|
|||
# List of exceptions that should be considered "fatal" and abort the program.
|
||||
# These are primarily some exception types that we simply cannot really recover from
|
||||
# (MemoryError and SystemError) and exceptions that indicate grave errors in the
|
||||
# code that cause the Python interpreter to fail (SyntaxError, ImportError).
|
||||
# code that cause the Python interpreter to fail (SyntaxError, ImportError).
|
||||
fatal_exception_types = [
|
||||
MemoryError,
|
||||
SyntaxError,
|
||||
|
@ -53,7 +53,7 @@ class CrashHandler:
|
|||
self.exception_type = exception_type
|
||||
self.value = value
|
||||
self.traceback = tb
|
||||
self.dialog = QDialog()
|
||||
self.dialog = None # Don't create a QDialog before there is a QApplication
|
||||
|
||||
# While we create the GUI, the information will be stored for sending afterwards
|
||||
self.data = dict()
|
||||
|
@ -71,6 +71,7 @@ class CrashHandler:
|
|||
if not application:
|
||||
sys.exit(1)
|
||||
|
||||
self.dialog = QDialog()
|
||||
self._createDialog()
|
||||
|
||||
## Creates a modal dialog.
|
||||
|
@ -288,4 +289,4 @@ class CrashHandler:
|
|||
# When the exception is not in the fatal_exception_types list, the dialog is not created, so we don't need to show it
|
||||
if self.dialog:
|
||||
self.dialog.exec_()
|
||||
os._exit(1)
|
||||
os._exit(1)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue