Merge pull request #58629 from groud/fix_native_extion_init_order
This commit is contained in:
commit
feee9d0aa5
@ -460,8 +460,8 @@ typedef enum {
|
|||||||
GDNATIVE_INITIALIZATION_CORE,
|
GDNATIVE_INITIALIZATION_CORE,
|
||||||
GDNATIVE_INITIALIZATION_SERVERS,
|
GDNATIVE_INITIALIZATION_SERVERS,
|
||||||
GDNATIVE_INITIALIZATION_SCENE,
|
GDNATIVE_INITIALIZATION_SCENE,
|
||||||
GDNATIVE_INITIALIZATION_EDITOR,
|
|
||||||
GDNATIVE_INITIALIZATION_DRIVER,
|
GDNATIVE_INITIALIZATION_DRIVER,
|
||||||
|
GDNATIVE_INITIALIZATION_EDITOR,
|
||||||
GDNATIVE_MAX_INITIALIZATION_LEVEL,
|
GDNATIVE_MAX_INITIALIZATION_LEVEL,
|
||||||
} GDNativeInitializationLevel;
|
} GDNativeInitializationLevel;
|
||||||
|
|
||||||
|
@ -325,6 +325,7 @@ void NativeExtension::_bind_methods() {
|
|||||||
BIND_ENUM_CONSTANT(INITIALIZATION_LEVEL_CORE);
|
BIND_ENUM_CONSTANT(INITIALIZATION_LEVEL_CORE);
|
||||||
BIND_ENUM_CONSTANT(INITIALIZATION_LEVEL_SERVERS);
|
BIND_ENUM_CONSTANT(INITIALIZATION_LEVEL_SERVERS);
|
||||||
BIND_ENUM_CONSTANT(INITIALIZATION_LEVEL_SCENE);
|
BIND_ENUM_CONSTANT(INITIALIZATION_LEVEL_SCENE);
|
||||||
|
BIND_ENUM_CONSTANT(INITIALIZATION_LEVEL_DRIVER);
|
||||||
BIND_ENUM_CONSTANT(INITIALIZATION_LEVEL_EDITOR);
|
BIND_ENUM_CONSTANT(INITIALIZATION_LEVEL_EDITOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,8 +71,8 @@ public:
|
|||||||
INITIALIZATION_LEVEL_CORE,
|
INITIALIZATION_LEVEL_CORE,
|
||||||
INITIALIZATION_LEVEL_SERVERS,
|
INITIALIZATION_LEVEL_SERVERS,
|
||||||
INITIALIZATION_LEVEL_SCENE,
|
INITIALIZATION_LEVEL_SCENE,
|
||||||
INITIALIZATION_LEVEL_EDITOR,
|
|
||||||
INITIALIZATION_LEVEL_DRIVER,
|
INITIALIZATION_LEVEL_DRIVER,
|
||||||
|
INITIALIZATION_LEVEL_EDITOR,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool is_library_open() const;
|
bool is_library_open() const;
|
||||||
|
@ -43,7 +43,9 @@
|
|||||||
</constant>
|
</constant>
|
||||||
<constant name="INITIALIZATION_LEVEL_SCENE" value="2" enum="InitializationLevel">
|
<constant name="INITIALIZATION_LEVEL_SCENE" value="2" enum="InitializationLevel">
|
||||||
</constant>
|
</constant>
|
||||||
<constant name="INITIALIZATION_LEVEL_EDITOR" value="3" enum="InitializationLevel">
|
<constant name="INITIALIZATION_LEVEL_DRIVER" value="3" enum="InitializationLevel">
|
||||||
|
</constant>
|
||||||
|
<constant name="INITIALIZATION_LEVEL_EDITOR" value="4" enum="InitializationLevel">
|
||||||
</constant>
|
</constant>
|
||||||
</constants>
|
</constants>
|
||||||
</class>
|
</class>
|
||||||
|
@ -425,6 +425,7 @@ Error Main::test_setup() {
|
|||||||
ResourceLoader::load_path_remaps();
|
ResourceLoader::load_path_remaps();
|
||||||
|
|
||||||
register_scene_types();
|
register_scene_types();
|
||||||
|
register_driver_types();
|
||||||
|
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
ClassDB::set_current_api(ClassDB::API_EDITOR);
|
ClassDB::set_current_api(ClassDB::API_EDITOR);
|
||||||
@ -435,7 +436,6 @@ Error Main::test_setup() {
|
|||||||
register_platform_apis();
|
register_platform_apis();
|
||||||
|
|
||||||
register_module_types();
|
register_module_types();
|
||||||
register_driver_types();
|
|
||||||
|
|
||||||
// Theme needs modules to be initialized so that sub-resources can be loaded.
|
// Theme needs modules to be initialized so that sub-resources can be loaded.
|
||||||
initialize_theme();
|
initialize_theme();
|
||||||
@ -458,13 +458,13 @@ void Main::test_cleanup() {
|
|||||||
ResourceLoader::remove_custom_loaders();
|
ResourceLoader::remove_custom_loaders();
|
||||||
ResourceSaver::remove_custom_savers();
|
ResourceSaver::remove_custom_savers();
|
||||||
|
|
||||||
unregister_driver_types();
|
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
EditorNode::unregister_editor_types();
|
EditorNode::unregister_editor_types();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
unregister_module_types();
|
unregister_module_types();
|
||||||
unregister_platform_apis();
|
unregister_platform_apis();
|
||||||
|
unregister_driver_types();
|
||||||
unregister_scene_types();
|
unregister_scene_types();
|
||||||
unregister_server_types();
|
unregister_server_types();
|
||||||
|
|
||||||
@ -1890,6 +1890,10 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
|
|||||||
|
|
||||||
register_scene_types();
|
register_scene_types();
|
||||||
|
|
||||||
|
MAIN_PRINT("Main: Load Driver Types");
|
||||||
|
|
||||||
|
register_driver_types();
|
||||||
|
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
ClassDB::set_current_api(ClassDB::API_EDITOR);
|
ClassDB::set_current_api(ClassDB::API_EDITOR);
|
||||||
EditorNode::register_editor_types();
|
EditorNode::register_editor_types();
|
||||||
@ -1925,14 +1929,12 @@ Error Main::setup2(Thread::ID p_main_tid_override) {
|
|||||||
|
|
||||||
camera_server = CameraServer::create();
|
camera_server = CameraServer::create();
|
||||||
|
|
||||||
MAIN_PRINT("Main: Load Physics, Drivers, Scripts");
|
MAIN_PRINT("Main: Load Physics");
|
||||||
|
|
||||||
initialize_physics();
|
initialize_physics();
|
||||||
initialize_navigation_server();
|
initialize_navigation_server();
|
||||||
register_server_singletons();
|
register_server_singletons();
|
||||||
|
|
||||||
register_driver_types();
|
|
||||||
|
|
||||||
// This loads global classes, so it must happen before custom loaders and savers are registered
|
// This loads global classes, so it must happen before custom loaders and savers are registered
|
||||||
ScriptServer::init_languages();
|
ScriptServer::init_languages();
|
||||||
|
|
||||||
@ -2816,8 +2818,6 @@ void Main::cleanup(bool p_force) {
|
|||||||
xr_server->set_primary_interface(Ref<XRInterface>());
|
xr_server->set_primary_interface(Ref<XRInterface>());
|
||||||
}
|
}
|
||||||
|
|
||||||
unregister_driver_types();
|
|
||||||
|
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
EditorNode::unregister_editor_types();
|
EditorNode::unregister_editor_types();
|
||||||
#endif
|
#endif
|
||||||
@ -2826,6 +2826,7 @@ void Main::cleanup(bool p_force) {
|
|||||||
|
|
||||||
unregister_module_types();
|
unregister_module_types();
|
||||||
unregister_platform_apis();
|
unregister_platform_apis();
|
||||||
|
unregister_driver_types();
|
||||||
unregister_scene_types();
|
unregister_scene_types();
|
||||||
unregister_server_types();
|
unregister_server_types();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user