aboutsummaryrefslogtreecommitdiff
path: root/queen
diff options
context:
space:
mode:
Diffstat (limited to 'queen')
-rw-r--r--queen/queen.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/queen/queen.cpp b/queen/queen.cpp
index 4a3f045a4d..cb16bf6676 100644
--- a/queen/queen.cpp
+++ b/queen/queen.cpp
@@ -349,6 +349,20 @@ void QueenEngine::findGameStateDescriptions(char descriptions[100][32]) {
void QueenEngine::errorString(const char *buf1, char *buf2) {
strcpy(buf2, buf1);
+
+#ifdef _WIN32_WCE
+ if (isSmartphone())
+ return;
+#endif
+
+ // Unless an error -originated- within the debugger, spawn the
+ // debugger. Otherwise exit out normally.
+ if (_debugger && !_debugger->isAttached()) {
+ // (Print it again in case debugger segfaults)
+ printf("%s\n", buf2);
+ _debugger->attach(buf2);
+ _debugger->onFrame();
+ }
}
int QueenEngine::go() {