Skip to content

Commit b3ec2ed

Browse files
committed
Register core singleton types before instantiating them.
1 parent ec7d25d commit b3ec2ed

File tree

1 file changed

+17
-21
lines changed

1 file changed

+17
-21
lines changed

core/register_core_types.cpp

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -198,8 +198,6 @@ void register_core_types() {
198198
GDREGISTER_CLASS(InputEventMIDI);
199199

200200
// Network
201-
GDREGISTER_ABSTRACT_CLASS(IP);
202-
203201
GDREGISTER_ABSTRACT_CLASS(StreamPeer);
204202
GDREGISTER_ABSTRACT_CLASS(StreamPeerSocket);
205203
GDREGISTER_ABSTRACT_CLASS(SocketServer);
@@ -303,6 +301,23 @@ void register_core_types() {
303301
ResourceLoader::add_resource_format_loader(resource_loader_gdextension);
304302
}
305303

304+
GDREGISTER_ABSTRACT_CLASS(IP);
305+
GDREGISTER_CLASS(CoreBind::Geometry2D);
306+
GDREGISTER_CLASS(CoreBind::Geometry3D);
307+
GDREGISTER_CLASS(CoreBind::ResourceLoader);
308+
GDREGISTER_CLASS(CoreBind::ResourceSaver);
309+
GDREGISTER_CLASS(CoreBind::OS);
310+
GDREGISTER_CLASS(CoreBind::Engine);
311+
GDREGISTER_CLASS(CoreBind::Special::ClassDB);
312+
GDREGISTER_CLASS(CoreBind::Marshalls);
313+
GDREGISTER_CLASS(CoreBind::EngineDebugger);
314+
315+
GDREGISTER_CLASS(TranslationServer);
316+
GDREGISTER_ABSTRACT_CLASS(Input);
317+
GDREGISTER_CLASS(InputMap);
318+
GDREGISTER_CLASS(Expression);
319+
GDREGISTER_CLASS(ProjectSettings);
320+
306321
ip = IP::create();
307322

308323
_geometry_2d = memnew(CoreBind::Geometry2D);
@@ -337,34 +352,15 @@ void register_core_settings() {
337352
}
338353

339354
void register_early_core_singletons() {
340-
GDREGISTER_CLASS(CoreBind::Engine);
341355
Engine::get_singleton()->add_singleton(Engine::Singleton("Engine", CoreBind::Engine::get_singleton()));
342-
343-
GDREGISTER_CLASS(ProjectSettings);
344356
Engine::get_singleton()->add_singleton(Engine::Singleton("ProjectSettings", ProjectSettings::get_singleton()));
345-
346-
GDREGISTER_CLASS(CoreBind::OS);
347357
Engine::get_singleton()->add_singleton(Engine::Singleton("OS", CoreBind::OS::get_singleton()));
348-
349358
Engine::get_singleton()->add_singleton(Engine::Singleton("Time", Time::get_singleton()));
350359
}
351360

352361
void register_core_singletons() {
353362
OS::get_singleton()->benchmark_begin_measure("Core", "Register Singletons");
354363

355-
GDREGISTER_ABSTRACT_CLASS(IP);
356-
GDREGISTER_CLASS(CoreBind::Geometry2D);
357-
GDREGISTER_CLASS(CoreBind::Geometry3D);
358-
GDREGISTER_CLASS(CoreBind::ResourceLoader);
359-
GDREGISTER_CLASS(CoreBind::ResourceSaver);
360-
GDREGISTER_CLASS(CoreBind::Special::ClassDB);
361-
GDREGISTER_CLASS(CoreBind::Marshalls);
362-
GDREGISTER_CLASS(TranslationServer);
363-
GDREGISTER_ABSTRACT_CLASS(Input);
364-
GDREGISTER_CLASS(InputMap);
365-
GDREGISTER_CLASS(Expression);
366-
GDREGISTER_CLASS(CoreBind::EngineDebugger);
367-
368364
Engine::get_singleton()->add_singleton(Engine::Singleton("IP", IP::get_singleton(), "IP"));
369365
Engine::get_singleton()->add_singleton(Engine::Singleton("Geometry2D", CoreBind::Geometry2D::get_singleton()));
370366
Engine::get_singleton()->add_singleton(Engine::Singleton("Geometry3D", CoreBind::Geometry3D::get_singleton()));

0 commit comments

Comments
 (0)