Fix ClassDB
not checking for editor classes properly
#92345
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes the
_instantiate_internal
,can_instantiate
andis_virtual
methods ofClassDB
to not only check whetherClassInfo::api
isAPI_EDITOR
but also whether it'sAPI_EDITOR_EXTENSION
.This bug led to a crash when running @qarmin's fuzzer on Godot Jolt, as seen in godot-jolt/godot-jolt#868, as it tried to instantiate an editor-only type that erroneously reported a successful
can_instantiate
.@dsnopek You wouldn't happen to know if this needs the same change? I couldn't quite figure out what it's for:
godot/core/object/class_db.cpp
Line 592 in b7feebe