From 310446d44859060f64a8435069406d39f9dd54b0 Mon Sep 17 00:00:00 2001 From: yexo Date: Fri, 20 Feb 2009 13:39:18 +0000 Subject: (svn r15531) -Fix (r15467): AIs were stopped at every error, whether they caught it or not. --- src/script/squirrel.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/script/squirrel.cpp b/src/script/squirrel.cpp index 0718f7945..a62c83418 100644 --- a/src/script/squirrel.cpp +++ b/src/script/squirrel.cpp @@ -62,7 +62,6 @@ void Squirrel::RunError(HSQUIRRELVM vm, const SQChar *error) SQChar buf[1024]; scsnprintf(buf, lengthof(buf), _SC("Your script made an error: %s\n"), error); Squirrel *engine = (Squirrel *)sq_getforeignptr(vm); - engine->crashed = true; SQPrintFunc *func = engine->print_func; if (func == NULL) { scfprintf(stderr, _SC("%s"), buf); @@ -177,7 +176,7 @@ bool Squirrel::MethodExists(HSQOBJECT instance, const char *method_name) bool Squirrel::Resume(int suspend) { assert(!this->crashed); - sq_resumecatch(this->vm, suspend); + this->crashed = !sq_resumecatch(this->vm, suspend); return this->vm->_suspended != 0; } -- cgit v1.2.3-70-g09d2