There were too many instances of false positives that are difficult
to fix. The note in the class reference has been clarified instead.
(cherry picked from commit 43da1790c8)
Fixes#43733: "creating SpatialMaterial in a separate thread creates invalid
shaders (temporarily)."
The bug occurred because various setters called in materials' constructors add
materials to queues that are processed on the main thread. This means that
when the materials are created in another thread, they can be processed on the
main thread before the constructor has finished.
The fix adds a flag to affected materials that prevents them from being added
to the queue until their constructors have finished initialising all the
members.
(cherry picked from commit 9e9bac1549)
They could cause a segfault when parsing values with ID "Resource"
as apparently we never set a valid `func` for it.
Fixes crash part of #42115.
(cherry picked from commit f3aaa713d9)
This prevents setting too large values and crashing the editor.
Very low values are also no longer allowed since they are generally
not detailed enough to represent complex gradients, leading to confusion.
(cherry picked from commit 2c7813385d)
A value of 0 rings is valid and results in a non-subdivided cylinder.
Compared to the previous lowest allowed value (1), a value of 0 halves
the triangle count in any cylinder.
(cherry picked from commit a82c90ca55)
Regression fix: update_exports is tool only and should be used only in
the editor, otherwise it can cause export variable overrides from
instances to be discarded in favor of the parent's value.
(cherry picked from commit f1587c8a7d)
Low zoom values result in unreadable text, but it can still be
useful for previewing purposes.
Eventually, characters could be replaced by rectangles at very low
zoom levels to improve the visual appearance.
(cherry picked from commit 74c584472c)
There's not really a reason to cap the gravity amount, and we can also
give better hints for the range (for 3D, ±32 is much more sensible
than ±1024).
(cherry picked from commit e0facdaf61)
Reparsing the bbcode content when we receieve a theme changed
notification just like we already do in ENTER_TREE.
Resolves#49089
(cherry picked from commit 1b7c2a1428)
In editor: only when show_collision property is enabled
In game: only when 'Visible collision shapes' is enabled
(cherry picked from commit 114da550ec)
Splits the URL into (scheme, host, port, path).
Supports both literal IPv4 and IPv6.
Strip credentials when present (e.g. http://user:pass@example.com/).
Use that function in both HTTPRequest and WebSocketClient.
(cherry picked from commit 3bb40669d5)