Skip to content

Commit 9c63619

Browse files
committed
Merge pull request #111318 from Ivorforce/registration-order-1
Improve type registration order in `register_core_types.cpp`.
2 parents 651d278 + 40b9d00 commit 9c63619

File tree

2 files changed

+11
-15
lines changed

2 files changed

+11
-15
lines changed

core/register_core_types.cpp

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -130,16 +130,23 @@ void register_core_types() {
130130
static_assert(sizeof(Callable) <= 16);
131131

132132
ObjectDB::setup();
133-
134133
StringName::setup();
134+
register_global_constants();
135+
CoreStringNames::create();
136+
137+
GDREGISTER_CLASS(Object);
138+
GDREGISTER_CLASS(RefCounted);
139+
GDREGISTER_CLASS(WeakRef);
140+
GDREGISTER_CLASS(Resource);
141+
142+
GDREGISTER_CLASS(Time);
135143
_time = memnew(Time);
136144
ResourceLoader::initialize();
137145

138-
register_global_constants();
139-
140146
Variant::register_types();
141147

142-
CoreStringNames::create();
148+
GDREGISTER_CLASS(ResourceFormatLoader);
149+
GDREGISTER_CLASS(ResourceFormatSaver);
143150

144151
if constexpr (GD_IS_CLASS_ENABLED(Translation)) {
145152
resource_format_po.instantiate();
@@ -162,17 +169,12 @@ void register_core_types() {
162169
ResourceLoader::add_resource_format_loader(resource_format_image);
163170
}
164171

165-
GDREGISTER_CLASS(Object);
166-
167172
GDREGISTER_ABSTRACT_CLASS(Script);
168173
GDREGISTER_ABSTRACT_CLASS(ScriptLanguage);
169174
GDREGISTER_CLASS(ScriptBacktrace);
170175
GDREGISTER_VIRTUAL_CLASS(ScriptExtension);
171176
GDREGISTER_VIRTUAL_CLASS(ScriptLanguageExtension);
172177

173-
GDREGISTER_CLASS(RefCounted);
174-
GDREGISTER_CLASS(WeakRef);
175-
GDREGISTER_CLASS(Resource);
176178
GDREGISTER_VIRTUAL_CLASS(MissingResource);
177179
GDREGISTER_CLASS(Image);
178180

@@ -256,9 +258,6 @@ void register_core_types() {
256258
GDREGISTER_CLASS(UndoRedo);
257259
GDREGISTER_CLASS(TriangleMesh);
258260

259-
GDREGISTER_CLASS(ResourceFormatLoader);
260-
GDREGISTER_CLASS(ResourceFormatSaver);
261-
262261
GDREGISTER_ABSTRACT_CLASS(FileAccess);
263262
GDREGISTER_ABSTRACT_CLASS(DirAccess);
264263
GDREGISTER_CLASS(CoreBind::Thread);
@@ -347,7 +346,6 @@ void register_early_core_singletons() {
347346
GDREGISTER_CLASS(CoreBind::OS);
348347
Engine::get_singleton()->add_singleton(Engine::Singleton("OS", CoreBind::OS::get_singleton()));
349348

350-
GDREGISTER_CLASS(Time);
351349
Engine::get_singleton()->add_singleton(Engine::Singleton("Time", Time::get_singleton()));
352350
}
353351

scene/register_scene_types.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -410,8 +410,6 @@ void register_scene_types() {
410410

411411
OS::get_singleton()->yield(); // may take time to init
412412

413-
GDREGISTER_CLASS(Object);
414-
415413
GDREGISTER_CLASS(Node);
416414
GDREGISTER_VIRTUAL_CLASS(MissingNode);
417415
GDREGISTER_ABSTRACT_CLASS(InstancePlaceholder);

0 commit comments

Comments
 (0)