godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
89.2k stars 20.22k forks source link

Editing project settings breaks every Control node's (and its derivatives) size_flags_changed signal. #94868

Open loneShade221 opened 1 month ago

loneShade221 commented 1 month ago

Tested versions

Godot Engine v4.1.4.stable.official.fe0e8e557

System information

Windows 10, Godot Engine v4.1.4.stable.official.fe0e8e557. Compatibility

Issue description

In any project where there are any Control nodes, and said project is exported as a Release build on Windows, the console will throw errors such as these:

Godot Engine v4.1.4.stable.official.fe0e8e557 - https://godotengine.org OpenGL API 3.3.0 - Build 20.19.15.4549 - Compatibility - Using Device: Intel - Intel(R) HD Graphics 4600

USER ERROR: Attempt to disconnect a nonexistent connection from 'ColorRect:<ColorRect#22884123746>'. Signal: 'size_flags_changed', callable: ''. at: _disconnect (core/object/object.cpp:1355) USER ERROR: Attempt to disconnect a nonexistent connection from '_v_scroll:<VScrollBar#22850569312>'. Signal: 'size_flags_changed', callable: ''. at: _disconnect (core/object/object.cpp:1355) USER ERROR: Attempt to disconnect a nonexistent connection from '_h_scroll:<HScrollBar#22817014878>'. Signal: 'size_flags_changed', callable: ''. at: _disconnect (core/object/object.cpp:1355)

This happens either when I changed the Stretch Mode to 'canvas_items', or toggled Advanced Settings on, or toggled 'convert text resources to binary' on. It specifically targets the 'size_flags_changed' signal.

Steps to reproduce

  1. Create a project
  2. Set any node as the root node
  3. Add a bunch of Control nodes, or its derivatives (just one is enough, as well)
  4. Add some way to quee_free() the Control nodes
  5. Try exporting the project on Windows, in Release mode, include console
  6. Run console, everything should be fine if the Control nodes are released
  7. Now change any of the following project settings: -change the Stretch Mode to 'canvas_items' -toggle Advanced Settings on -toggle 'convert text resources to binary' on
  8. Export as in step 5
  9. Releasing any Control node now should give an error similar to this: USER ERROR: Attempt to disconnect a nonexistent connection from '_v_scroll:<VScrollBar#22850569312>'. Signal: 'size_flags_changed', callable: ''.

Minimal reproduction project (MRP)

(File size exceeds maximum size, so I cannot upload a sample here.)

AThousandShips commented 1 month ago

Sounds like:

Can you check if this occurs in 4.1.3? If not then it's likely the same issue as it was caused by a PR cherry picked into 4.1.4

loneShade221 commented 1 month ago

I apologize, but I cannot test it at the moment, as I don't have 4.1.3, or the export templates yet. I'll see if I find some time later.

ned, 28. jul 2024. 12:41 A Thousand Ships @.***> је написао/ла:

Sounds like:

Can you check if this occurs in 4.1.3? If not then it's likely the same issue as it was caused by a PR cherry picked into 4.1.4

— Reply to this email directly, view it on GitHub https://github.com/godotengine/godot/issues/94868#issuecomment-2254469168, or unsubscribe https://github.com/notifications/unsubscribe-auth/A774YDVVSPK3YYIKPZRD6FTZOTDFDAVCNFSM6AAAAABLSUVS5SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJUGQ3DSMJWHA . You are receiving this because you authored the thread.Message ID: @.***>