diff options
author | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2017-03-21 02:17:17 +0100 |
---|---|---|
committer | Pedro J. Estébanez <pedrojrulez@gmail.com> | 2017-03-21 02:53:06 +0100 |
commit | 0664a9ef8efd88819aadbae776d706de5c3955f5 (patch) | |
tree | e8e04bfec37cb9859768df09b2e946da925ad9af | |
parent | 52ddd9ac9cf4074e6461a236808313002b0d83c4 (diff) |
Fix random crashes when using yield()
-rw-r--r-- | modules/gdscript/gd_function.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/gdscript/gd_function.cpp b/modules/gdscript/gd_function.cpp index aaf97001e9..0e7ba981f4 100644 --- a/modules/gdscript/gd_function.cpp +++ b/modules/gdscript/gd_function.cpp @@ -189,7 +189,7 @@ Variant GDFunction::call(GDInstance *p_instance, const Variant **p_args, int p_a if (p_state) { //use existing (supplied) state (yielded) stack = (Variant *)p_state->stack.ptr(); - call_args = (Variant **)stack + sizeof(Variant) * p_state->stack_size; + call_args = (Variant **)&p_state->stack.ptr()[sizeof(Variant) * p_state->stack_size]; //ptr() to avoid bounds check line = p_state->line; ip = p_state->ip; alloca_size = p_state->stack.size(); |