You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When adding arguments to a method call on an AnimationPlayer track, you are unable to select Object from Nil. You can select other types from Nil and it works as expected. And converting from a non-Nil types to Object works.
I've found in editor/animation_track_editor.cpp on about line 217 is the start of the problem, we seem to be copying the original Variant (which is type Nil) in the code above. See the d_new variable. Then we pass the old variant (still Nil type) into the Variant::construct as a parameter. The crux of the problem is that Variant::construct doesn't set the type to Object in this case. Other cases seem to use the case below (line 219) with a nullptr argument, which calls a different construct that ends up calling a VariantDefaultInitializer for the desired type.
Steps to reproduce
extract the attached test.zip and open it with godot (4.3 dev)
Open the scene "node_3d.tscn" if it isn't already
Click on the AnimationPlayer in the scene
Navigate to the Animation Editor (if it isn't already opened)
Select the "new_animation" animation in the animation drop down (if not already selected)
click on one of the spawnObject key frames (or create a new one and select it)
In the Key Frame inspector increase arg count if it is 0
Drop down the Args until you find an arg with with a nil type
Try to select the Object type and notice that it remains Nil.
Tested versions
System information
Godot v4.3.dev (4a01602) - Windows 10.0.22631 - Vulkan (Forward+) - dedicated AMD Radeon RX 7900 XTX (Advanced Micro Devices, Inc.; 31.0.24027.1012) - AMD Ryzen 9 7950X3D 16-Core Processor (32 Threads)
Issue description
When adding arguments to a method call on an AnimationPlayer track, you are unable to select Object from Nil. You can select other types from Nil and it works as expected. And converting from a non-Nil types to Object works.
I've found in
editor/animation_track_editor.cpp
on about line 217 is the start of the problem, we seem to be copying the original Variant (which is type Nil) in the code above. See thed_new
variable. Then we pass the old variant (still Nil type) into theVariant::construct
as a parameter. The crux of the problem is thatVariant::construct
doesn't set the type to Object in this case. Other cases seem to use the case below (line 219) with a nullptr argument, which calls a different construct that ends up calling aVariantDefaultInitializer
for the desired type.Steps to reproduce
extract the attached test.zip and open it with godot (4.3 dev)
Minimal reproduction project (MRP)
test.zip
The text was updated successfully, but these errors were encountered: