virtualx-engine/modules
Pedro J. Estébanez 64344e6d1d Fix object leaks caused by unfulfilled yields
Now the stack saved in a `GDScriptFunctionState` is cleared as soon as the `yield()` operation is known not to be resumed because either the script, the instance or both are deleted.

This clears problems like leaked objects by eliminating cases of circular references between `GDScriptFunctionState`s preventing them and the objects they refer to in their saved stacks from being released. As an example, this makes using `SceneTreeTimer` safer.

Furthermore, with this change it's now possible to print early warnings about `yield()`s to released script/instances, as now we know they won't be successfully resumed as the condition for that happens. However, this PR doesn't add such messages, to keep the observed behavior the same for the time being.

Also, now a backup of the function name in `GDScriptFunctionState` is used, since the script may not be valid by the time the function name is needed for the resume-after-yield error messages.
2020-05-05 17:53:47 +02:00
..
arkit Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
assimp Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
bmp Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
bullet Make softbody completelly stiff to attachment point 2020-05-01 10:56:57 +02:00
camera Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
csg Fix CSG vertex normal calculation. 2020-05-01 10:56:58 +02:00
cvtt Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
dds Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
enet Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
etc Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
freetype Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
gdnative Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
gdscript Fix object leaks caused by unfulfilled yields 2020-05-05 17:53:47 +02:00
gridmap Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
hdr Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
jpg Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
jsonrpc Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
mbedtls Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
mobile_vr Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
mono Fix growMargin() not returning modified Rect2/Rect2i 2020-05-01 10:56:58 +02:00
ogg Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
opensimplex NoiseTexture: prevent race condition because of Ref::unref() 2020-04-16 12:47:18 +02:00
opus Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
pvr Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
recast Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
regex Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
squish Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
stb_vorbis Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
svg Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
tga Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
theora Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
tinyexr tinyexr: Enable C++11 threaded loading 2020-05-01 11:10:16 +02:00
upnp Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
vhacd Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
visual_script Change round return type to float 2020-04-16 12:57:21 +02:00
vorbis Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
webm Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
webp Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
webrtc Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
websocket Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
xatlas_unwrap Adding missing include guards to header files identified by LGTM. 2020-03-25 11:38:54 +01:00
register_module_types.h Update copyright statements to 2020 2020-01-01 11:16:22 +01:00
SCsub SCons: Add 'split_libmodules' option to workaround linker issue 2019-12-11 15:40:28 +01:00