summaryrefslogtreecommitdiffstats
path: root/src/script
diff options
context:
space:
mode:
authorkrzys-h <krzys_h@interia.pl>2013-05-12 15:37:23 +0200
committerkrzys-h <krzys_h@interia.pl>2013-05-12 15:38:09 +0200
commit1f77efb9cb3f39fae5567c3af65fd3e9ad8736aa (patch)
treeae98c5b2f46ad9214f576a7554a5713699a98759 /src/script
parentc25b6ab472e372f2b6c0ec2bc10a5a7a4632b503 (diff)
downloadcolobot-1f77efb9cb3f39fae5567c3af65fd3e9ad8736aa.tar.gz
colobot-1f77efb9cb3f39fae5567c3af65fd3e9ad8736aa.tar.bz2
colobot-1f77efb9cb3f39fae5567c3af65fd3e9ad8736aa.zip
Fixed bug with std::bad_alloc when using produce()
I'm not sure why it wasn't happening before, but it's fixed :)
Diffstat (limited to 'src/script')
-rw-r--r--src/script/script.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/script/script.cpp b/src/script/script.cpp
index 9537630..ba9b8e6 100644
--- a/src/script/script.cpp
+++ b/src/script/script.cpp
@@ -1544,8 +1544,10 @@ bool CScript::rProduce(CBotVar* var, CBotVar* result, int& exception, void* user
return true;
}
- object->ReadProgram(0, static_cast<const char*>(name));
- object->RunProgram(0);
+ if(name[0] != 0) {
+ object->ReadProgram(0, static_cast<const char*>(name));
+ object->RunProgram(0);
+ }
result->SetValInt(0); // no error
return true;