diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-05-20 13:00:02 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-05-20 13:00:02 +0200 |
commit | 6110bdee138febf3b04b47bc15b834bda7b99d52 (patch) | |
tree | 25d3ecfcd8bb644d274842435d56b04ce34fb5d8 /modules | |
parent | 8b0ea337771a2ec04f8c731601c6a0518187b328 (diff) | |
parent | 71808b38bc787cb2c903f3ac0479a0bc6e905fa8 (diff) |
Merge pull request #28975 from RameshRavone/type_tag
NULL global_tag for non exposed classes
Diffstat (limited to 'modules')
-rw-r--r-- | modules/gdnative/nativescript/nativescript.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/modules/gdnative/nativescript/nativescript.cpp b/modules/gdnative/nativescript/nativescript.cpp index 04ba28dc68..c2aa8427b4 100644 --- a/modules/gdnative/nativescript/nativescript.cpp +++ b/modules/gdnative/nativescript/nativescript.cpp @@ -1345,7 +1345,7 @@ void *NativeScriptLanguage::get_instance_binding_data(int p_idx, Object *p_objec if (!(*binding_data)[p_idx]) { - const void *global_type_tag = global_type_tags[p_idx].get(p_object->get_class_name()); + const void *global_type_tag = get_global_type_tag(p_idx, p_object->get_class_name()); // no binding data yet, soooooo alloc new one \o/ (*binding_data).write[p_idx] = binding_functions[p_idx].second.alloc_instance_binding_data(binding_functions[p_idx].second.data, global_type_tag, (godot_object *)p_object); @@ -1454,6 +1454,9 @@ const void *NativeScriptLanguage::get_global_type_tag(int p_idx, StringName p_cl const HashMap<StringName, const void *> &tags = global_type_tags[p_idx]; + if (!tags.has(p_class_name)) + return NULL; + const void *tag = tags.get(p_class_name); return tag; |