Skip to content

Commit 52d32ce

Browse files
committed
Merge pull request #111383 from Ivorforce/core-types-update-2
Register core singleton types before instantiating them.
2 parents 8f4d8df + b3ec2ed commit 52d32ce

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
@@ -199,8 +199,6 @@ void register_core_types() {
199199
GDREGISTER_CLASS(InputEventMIDI);
200200

201201
// Network
202-
GDREGISTER_ABSTRACT_CLASS(IP);
203-
204202
GDREGISTER_ABSTRACT_CLASS(StreamPeer);
205203
GDREGISTER_ABSTRACT_CLASS(StreamPeerSocket);
206204
GDREGISTER_ABSTRACT_CLASS(SocketServer);
@@ -306,6 +304,23 @@ void register_core_types() {
306304
ResourceLoader::add_resource_format_loader(resource_loader_gdextension);
307305
}
308306

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

311326
_geometry_2d = memnew(CoreBind::Geometry2D);
@@ -340,34 +355,15 @@ void register_core_settings() {
340355
}
341356

342357
void register_early_core_singletons() {
343-
GDREGISTER_CLASS(CoreBind::Engine);
344358
Engine::get_singleton()->add_singleton(Engine::Singleton("Engine", CoreBind::Engine::get_singleton()));
345-
346-
GDREGISTER_CLASS(ProjectSettings);
347359
Engine::get_singleton()->add_singleton(Engine::Singleton("ProjectSettings", ProjectSettings::get_singleton()));
348-
349-
GDREGISTER_CLASS(CoreBind::OS);
350360
Engine::get_singleton()->add_singleton(Engine::Singleton("OS", CoreBind::OS::get_singleton()));
351-
352361
Engine::get_singleton()->add_singleton(Engine::Singleton("Time", Time::get_singleton()));
353362
}
354363

355364
void register_core_singletons() {
356365
OS::get_singleton()->benchmark_begin_measure("Core", "Register Singletons");
357366

358-
GDREGISTER_ABSTRACT_CLASS(IP);
359-
GDREGISTER_CLASS(CoreBind::Geometry2D);
360-
GDREGISTER_CLASS(CoreBind::Geometry3D);
361-
GDREGISTER_CLASS(CoreBind::ResourceLoader);
362-
GDREGISTER_CLASS(CoreBind::ResourceSaver);
363-
GDREGISTER_CLASS(CoreBind::Special::ClassDB);
364-
GDREGISTER_CLASS(CoreBind::Marshalls);
365-
GDREGISTER_CLASS(TranslationServer);
366-
GDREGISTER_ABSTRACT_CLASS(Input);
367-
GDREGISTER_CLASS(InputMap);
368-
GDREGISTER_CLASS(Expression);
369-
GDREGISTER_CLASS(CoreBind::EngineDebugger);
370-
371367
Engine::get_singleton()->add_singleton(Engine::Singleton("IP", IP::get_singleton(), "IP"));
372368
Engine::get_singleton()->add_singleton(Engine::Singleton("Geometry2D", CoreBind::Geometry2D::get_singleton()));
373369
Engine::get_singleton()->add_singleton(Engine::Singleton("Geometry3D", CoreBind::Geometry3D::get_singleton()));

0 commit comments

Comments
 (0)