- `Texture::~Texture` expects `props` to be dynamically allocated.
- `GetPropertyTable` returned a pointer to an existing `PropertyTable`
but is expected to return a newly, dynamically allocated one.
- `PropertyTable::PropertyTable()` suggests that an empty `element`
property is valid.
fix#46876fix#45573
(cherry picked from commit 09bda3f140)
This makes it possible to see whether a scrollbar grabber is at the top
or at the bottom of a scrollbar. Also, if a scrollable area is very
large, this makes it easier to notice that the area can be scrolled
(since the grabber is proportionally very small).
The scrollbar grabbers were also made thicker and slightly more opaque
for better visibility, especially in peripheral vision.
(cherry picked from commit b60b6ddba4)
New contributor added to AUTHORS:
@gongpha, @jmb462
Thanks to all contributors and donors for making Godot possible!
(cherry picked from commit 3d84fa85b4)
We were using `Content-Length` from the server when `Content-Encoding`
was not set (i.e. response was not compressed).
Sadly, in CORS requests accessing headers is restricted, and while
`Content-Length` is enabled by default, `Content-Encoding` is not.
This results in the impossibility of knowing if the content was
compressed, unless the server explicitly enabled the encoding header
via `Access-Control-Expose-Headers`.
To keep maximum compatibility we must disable `body_size` completely.
(cherry picked from commit 737ed0f66e)
Fixes#46181
CameraServer.add_feed() takes a CameraFeed object type as parameter.
Passing in another type of data while binding the method it will make
tha parameter null.
Added a check for null which returns from function and does not make the
engine crash anymore.
(cherry picked from commit c158a63a8a)
I had missed a special case check for userdata of two colliding objects being equal. In this case, collisions should not be reported. This is used in the physics to prevent self intersection in composite objects.
An earlier PR #46898 had flipped the rotation basis polarity. This turns out to also need a corresponding flip for the light angles for the lighting to make sense.
Fixes#45997.
Setting a GDNativeLibrary config file as null or any other object but a ConfigFile will now cause an error.
(cherry picked from commit 618dd892f5)
Promise chaining the emscripten module `then` function breaks it badly,
causing an infinite loop.
I'm unsure about the source of the issue, but most likely at this point
is due to the old emscripten version (I remember very old html5 builds
having issue with promise chaining too).
With this commit, we no longer use the module as a promise, and
instantiate it using `Promise` objects directly for compatibility.
(cherry picked from commit ae3c9345cc)
We might be able to make it work by building Mono itself with
ASLR protection too, but there might still be issues when loading
e.g. GDNative DLLs built without ASLR protection.
In the short term this is not a goal, but we can reconsider later
what is actually needed for ASLR protection to work and keep things
user-friendly.