Closed milothros closed 2 days ago
Can you try this on 4.2.2? Also what version of godot-cpp are you using?
It would also help if you upload some more details on how you set up your extension or some minimal code
Adding custom classes as member objects to any other custom class crashes the editor on startup. This only happens in the GDExtension library that depends on another, even if the member is defined in the same extension.
class Generator : public godot::Resource
{
GDCLASS( Generator, godot::Resource )
godot::Node valid_godot_member_object;
custom::Editor* valid_gdextension_member_pointer;
custom::Editor invalid_member_object;
}
Those GDExtensions are compiled and linked with CMake.
target_link_libraries( generator_target
PUBLIC
godot-cpp
antlr4-runtime
grammar_target
core_target
)
Is the other library built with the same exact version? Also what version of godot-cpp are you using?
Closing due to lack of response, if you provide the requested information this can be reopened
Tested versions
v4.2.1.stable.official
System information
Godot v4.2.1.stable - Debian GNU/Linux 12 (bookworm) 12 - Wayland - Vulkan (Forward+) - dedicated AMD Radeon RX 580 Series (RADV POLARIS10) () - AMD Ryzen 5 3600 6-Core Processor (12 Threads)
Issue description
The editor crashes on startup while DocTools try to generate information about a property inside custom GDExtension class (if I haven't misinterpreted the backtrace). If the project is started explicitly (with the --path option) then everything works perfectly well and gdscript interprets the property. The weirdest part is that this very property was handled fine previously. But after I made this GDExtension dependent on another one, it started crashing, and commenting out dependent code did not help.
Steps to reproduce
A simple GraphEdit property added to a godot::Object-derived class that's registered with ClassDB.
Minimal reproduction project (MRP)
Verbose log of an appropriate version with the debug symbols enabled.