[Core] Fix Variant::construct of Object

Variant type was not updated correctly causing leaks in ref-counted
This commit is contained in:
A Thousand Ships 2024-04-02 15:49:56 +02:00
parent e343dbbcc1
commit 8f3e2c96eb
No known key found for this signature in database
GPG key ID: 2033189A662F8BD7
5 changed files with 34 additions and 1 deletions

View file

@ -0,0 +1,9 @@
# https://github.com/godotengine/godot/issues/90086
class MyObj:
var obj: WeakRef
func test():
var obj_1 = MyObj.new()
var obj_2 = MyObj.new()
obj_1.obj = obj_2

View file

@ -0,0 +1,6 @@
GDTEST_RUNTIME_ERROR
>> SCRIPT ERROR
>> on function: test()
>> runtime/errors/invalid_property_assignment.gd
>> 9
>> Invalid assignment of property or key 'obj' with value of type 'RefCounted (MyObj)' on a base object of type 'RefCounted (MyObj)'.

View file

@ -0,0 +1,11 @@
# https://github.com/godotengine/godot/issues/90086
class MyObj:
var obj : WeakRef
func test():
var obj_1 = MyObj.new()
var obj_2 = MyObj.new()
assert(obj_2.get_reference_count() == 1)
obj_1.set(&"obj", obj_2)
assert(obj_2.get_reference_count() == 1)

View file

@ -0,0 +1 @@
GDTEST_OK