summaryrefslogtreecommitdiff
path: root/src/script/squirrel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/squirrel.cpp')
-rw-r--r--src/script/squirrel.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/script/squirrel.cpp b/src/script/squirrel.cpp
index 4584b9d6c..ed87d487c 100644
--- a/src/script/squirrel.cpp
+++ b/src/script/squirrel.cpp
@@ -541,15 +541,19 @@ Squirrel::~Squirrel()
void Squirrel::InsertResult(bool result)
{
sq_pushbool(this->vm, result);
- vm->GetAt(vm->_stackbase + vm->_suspended_target) = vm->GetUp(-1);
- vm->Pop();
+ if (this->IsSuspended()) { // Called before resuming a suspended script?
+ vm->GetAt(vm->_stackbase + vm->_suspended_target) = vm->GetUp(-1);
+ vm->Pop();
+ }
}
void Squirrel::InsertResult(int result)
{
sq_pushinteger(this->vm, result);
- vm->GetAt(vm->_stackbase + vm->_suspended_target) = vm->GetUp(-1);
- vm->Pop();
+ if (this->IsSuspended()) { // Called before resuming a suspended script?
+ vm->GetAt(vm->_stackbase + vm->_suspended_target) = vm->GetUp(-1);
+ vm->Pop();
+ }
}
/* static */ void Squirrel::DecreaseOps(HSQUIRRELVM vm, int ops)