99% of the time we shouldn't rely on the signal, we
should use the notification instead. I left some comments
in places where I couldn't quickly improve the code.
This PR fixes how triangular faces are decomposed into vertices and indices. The pre-increment resulted in the indices table skipping entry 0 and potentially overrunning the end of the vertices vector.
This has been another successful short release cycle for Godot 4, with
more than 1850 commits authored by over 350 contributors in 5 months!
We managed to publish 3 feature releases (4.0, 4.1, and 4.2) in a year,
for the first time ever. Despite the short development cycle, both 4.1
and 4.2 have been absolutely feature packed! We're happy with that
development pace overall, and ready to start planning our 2024 releases
with a similar workflow.
Thanks to all the contributors for your amazing work, and to the
Godot community at large for your incredible support <3
We're changing the format of the changelog as the previous one based on
Keep a Changelog required too much manual work to maintain.
We now link to relevant resources, notably our online interactive
changelog, and copy the grouped changelog generated by this tool.
It's a bit less curated than before, as we used to remove entries which
aren't that relevant to end users, and sort them under Added/Changed/
Removed/Fixed, but this was done manually and thus a huge chore.
Past changelogs are also removed and replaced with links to the
changelogs in their respective feature branches.
Window's with the no_focus flag should still process mouse events and not consume them. Otherwise all mouse pressed operations will not work inside Godot's PopupMenu.
This problem is Windows only, all other platforms do process mouse events for PopupMenu's correctly.
Works around #85365, but it's likely only a partial fix.
The proper fix would be to remove the Object pointer from the TrackCache
and always go back to the ObjectID before doing operations like this.
The issue occurred because during the 'close' event, the logic was trying to terminate the native engine on the UI thread instead of doing on the render thread.