From 54bdc1e1f6a7fb85a5b193c9b8ecf0dcf06949e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20J=2E=20Est=C3=A9banez?= Date: Wed, 17 Oct 2018 20:36:47 +0200 Subject: Fix crash on signal/resume to dangling target Fixes #22443. --- modules/gdscript/gdscript_function.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'modules/gdscript/gdscript_function.h') diff --git a/modules/gdscript/gdscript_function.h b/modules/gdscript/gdscript_function.h index bfb6d673f1..a47070de4f 100644 --- a/modules/gdscript/gdscript_function.h +++ b/modules/gdscript/gdscript_function.h @@ -225,7 +225,7 @@ private: bool _static; MultiplayerAPI::RPCMode rpc_mode; - GDScript *_script; + Ref _script; StringName name; Vector constants; @@ -272,15 +272,13 @@ private: public: struct CallState { - ObjectID instance_id; //by debug only - ObjectID script_id; - + ObjectID instance_id; GDScriptInstance *instance; Vector stack; int stack_size; Variant self; uint32_t alloca_size; - GDScript *_class; + Ref script; int ip; int line; int defarg; @@ -299,7 +297,7 @@ public: int get_default_argument_addr(int p_idx) const; GDScriptDataType get_return_type() const; GDScriptDataType get_argument_type(int p_idx) const; - GDScript *get_script() const { return _script; } + GDScript *get_script() const { return const_cast(_script.ptr()); } StringName get_source() const { return source; } void debug_get_stack_member_state(int p_line, List > *r_stackvars) const; -- cgit v1.2.3