Anthony Tuininga avatar Anthony Tuininga committed de5e884

Add support for changing the caption displayed on the message box.

Comments (0)

Files changed (1)

source/bases/Win32GUI.c

 static int FatalScriptError()
 {
     PyObject *type, *value, *traceback, *argsTuple, *module, *method, *result;
+    char *tracebackStr, *caption = "cx_Freeze: Python error in main script";
     int tracebackLength, i;
-    char *tracebackStr;
+    PyObject *captionObj;
 
     // if a system exception, handle it specially
     if (PyErr_ExceptionMatches(PyExc_SystemExit))
     Py_DECREF(result);
 
     // bring up the error
-    MessageBox(NULL, tracebackStr, "cx_Freeze: Python error in main script",
-            MB_ICONERROR);
+    captionObj = PyObject_GetAttrString(value, "caption");
+    if (captionObj && PyString_Check(captionObj))
+        caption = PyString_AS_STRING(captionObj);
+    MessageBox(NULL, tracebackStr, caption, MB_ICONERROR);
     Py_Finalize();
     return 1;
 }
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.