Merge pull request #9952 from endragor/pass-gdnative-library

Pass GDNativeLibrary pointer to library init
This commit is contained in:
Thomas Herzog 2017-07-29 17:58:14 +02:00 committed by GitHub
commit fc611f4b4c
2 changed files with 4 additions and 0 deletions

View File

@ -185,6 +185,8 @@ void GDNative::_bind_methods() {
}
void GDNative::set_library(Ref<GDNativeLibrary> p_library) {
ERR_EXPLAIN("Tried to change library of GDNative when it is already set");
ERR_FAIL_COND(library.is_valid());
library = p_library;
}
@ -229,6 +231,7 @@ bool GDNative::initialize() {
options.core_api_hash = ClassDB::get_api_hash(ClassDB::API_CORE);
options.editor_api_hash = ClassDB::get_api_hash(ClassDB::API_EDITOR);
options.no_api_hash = ClassDB::get_api_hash(ClassDB::API_NONE);
options.gd_native_library = (godot_object *)(get_library().ptr());
library_init_fpointer(&options);

View File

@ -265,6 +265,7 @@ typedef struct {
uint64_t core_api_hash;
uint64_t editor_api_hash;
uint64_t no_api_hash;
godot_object *gd_native_library; // pointer to GDNativeLibrary that is being initialized
} godot_gdnative_init_options;
typedef struct {