When Container::queue_sort() is called, pending_sort is set to true to indicate when a call to _sort_children() is queued, to avoid queueing multiple calls. Container::_sort_children() sets pending_sort back to false when finished, but did not do this when the container was not inside the tree. This would allow cases where queue_sort() could be called just before removing from the tree, causing _sort_children() to never reset pending_sort, preventing any future queue_sort() calls from queueing again.
One case where this happened was with the "Saving Scene" progress bar in the editor - when saving for the first time (or the first time the progress bar popup otherwise appeared in the editor), _sort_children() would be called successfully. After the progress bar popup was hidden, then shown again on future saves, _sort_children() would not be called again, resulting in the progress bar not taking up as much space as it should.
This issue used to be avoided by setting pending_sort to false immediately on NOTIFICATION_ENTER_TREE - however, this would allow multiple calls to be queued at the same time when entering the tree (#92644). The multiple calls was fixed recently by removing this assignment, but this also made possible the case where pending_sort is never reset.
This change sets pending_sort back to false in _sort_children() whether or not it's in the tree. Since this is done in a deferred call, it should still avoid the previous issue of multiple calls being queued at once on entering the tree.
Fixes#92971
It will be included in the next release at some point.
- https://github.com/RenderKit/embree/issues 486
"fix output operator"
[ 30%] Compiling thirdparty/embree/kernels/common/accelset.cpp ...
In file included from thirdparty/embree/kernels/common/device.cpp:12:
In file included from thirdparty/embree/kernels/common/scene_curves.h:10:
thirdparty/embree/kernels/common/../subdiv/bezier_curve.h:138:56:
error: no member named 'u' in 'QuadraticBezierCurve<V>'
138 | return cout << "QuadraticBezierCurve ( (" << a.u.lower << ", "
<< a.u.upper << "), " << a.v0 << ", " << a.v1 << ", " << a.v2 << ")";
...
Due to limitations to the splash screen introduced in Android 12, the splash screen logic is updated to the same logic as used on other platforms, i.e: the splash screen is rendered by the Godot engine instead of the Android runtime.