Commit Graph

123777 Commits

Author SHA1 Message Date
Aras Pranckevicius
109d2df84d Merge branch 'blender-v5.0-release' 2025-10-10 13:05:54 +03:00
Sergey Sharybin
5f64692e0c Fix: Compilation error due to a typo in variable 2025-10-10 12:03:07 +02:00
Bastien Montagne
270c8c89ba Fix warning in release builds. 2025-10-10 11:53:22 +02:00
Damien Picard
f79165eb7c I18n: Manually extract many node socket menu items
Node menu sockets' items are not currently exposed to RNA, and need to
be extracted manually for now.

Pull Request: https://projects.blender.org/blender/blender/pulls/147579
2025-10-10 11:24:17 +02:00
Aras Pranckevicius
9cbbe1ef73 Fix #147776: VSE strip crop values not scaled to preview/proxy size
1fbd83f72e commit flipped the logic of true vs false, but did not flip
all the usages of it.

Pull Request: https://projects.blender.org/blender/blender/pulls/147792
2025-10-10 10:41:34 +02:00
Jeroen Bakker
47f80fed29 Merge branch 'blender-v5.0-release' 2025-10-10 10:35:00 +02:00
Jeroen Bakker
ac9de14f03 Fix: Vulkan: Incorrect color attachments
When using a framebuffer without any color attachments there was always
a single color attachment acounted for. This oversight was detected when
looking into #147299.

Pull Request: https://projects.blender.org/blender/blender/pulls/147791
2025-10-10 10:34:03 +02:00
Richard Antalik
881b122ccc Merge branch 'blender-v5.0-release' 2025-10-10 10:23:27 +02:00
Richard Antalik
61033de969 Fix #146493: Crash after starting playback
Root cause is, that reverse playback would not call
`BKE_sound_play_scene()`, however `BKE_sound_stop_scene()` was called
always.

There was some weird logic in `ED_screen_animation_play()` where
condition for what sound scene was to be stopped exactly was inverted
for sequencer and duplicated for non-sequencer scene. This may also
be incorrect if somebody manages to start playback in active scene, then
create sequencer scene and stop it there.

Fortunately `ScreenAnimData` keeps pointer to scene which started
playback, so this is used to also stop the playback.

To make this code bit more readable, the function was split into
functions starting and stopping the playback, so the logic can also be
simplified a bit.

Finally, `sound_device_use_end_after()` was modified to do sanity check.
If the number of users is already 0, it does nothing and returns.
There assertion to catch this in debug builds.

Pull Request: https://projects.blender.org/blender/blender/pulls/147613
2025-10-10 10:22:55 +02:00
Jeroen Bakker
4346107cfe Merge branch 'blender-v5.0-release' 2025-10-10 09:00:14 +02:00
Campbell Barton
224bd118eb Build: resolve error with Python 3.14
Include local version of _PyArg_CheckPositional which is private
for CPython as of Python 3.14.

Ref !147783
2025-10-10 17:53:35 +11:00
irex124
0e9fc94a30 UI: Show Movie Clip frame properties UI template
This patch shows the start and end frames of the Movie Clip in its UI
template, which is now shown in the compositor node N-panel and camera
background image

Pull Request: https://projects.blender.org/blender/blender/pulls/145541
2025-10-10 08:49:36 +02:00
Jeroen Bakker
b9dcc087a9 Fix #147604, #146594: Vulkan: Crash on startup
On certain platforms Blender can crash on startup after the update of
VMA. This was because we want to select the correct memory area based on
requirements/preferences, but the overall flag was set to auto.

These options are mutual exclusive. This PR changes the flags to use the
requirements/preferences.

Pull Request: https://projects.blender.org/blender/blender/pulls/147781
2025-10-10 08:42:58 +02:00
Omar Emara
2f745308ed Nodes: Mix alpha in Mix node Mix mode
This patch mixes the alpha channel of the color in the Mix mode of the
Mix node. This has no effect on EEVEE/Cycles since they do not support
alpha, but affects the Compositor, Geometry Nodes, and Texture Nodes.

Previously, the alpha of the first color was assumed, which meant mixing
two images with transparency using a mask in the compositor resulted in
part of the image having bad alpha and required manually mixing of the
alpha channel. And this is the main motivation of this patch.

Pull Request: https://projects.blender.org/blender/blender/pulls/146461
2025-10-10 08:00:01 +02:00
Campbell Barton
24573cf537 Merge branch 'blender-v5.0-release' 2025-10-10 16:01:46 +11:00
Campbell Barton
74bd04e09b Docs: clarify the purpose of the --window-border argument
This read as if it enabled window decorations.

Clarify & update the doc-strings of windowing arguments to be consistent.

Also order their inclusion in --help more logically.
2025-10-10 05:00:26 +00:00
Campbell Barton
61671f2292 Merge branch 'blender-v5.0-release' 2025-10-10 14:02:42 +11:00
Campbell Barton
578a62cc62 RNA: expose the language enum to Python scripts
As far as I know it wasn't possible for scripts to access language
ID's and their names using documented API's.

Ref !147769
2025-10-10 14:01:28 +11:00
Harley Acheson
c0ccd81efb Merge branch 'blender-v5.0-release' 2025-10-09 18:00:53 -07:00
Harley Acheson
f4152fa946 Fix: Resizing Multiple Aligned Minimum Height Areas
Bug report #146812 shows areas being vertically resized incorrectly
when there are multiple areas at minimum height adjacently aligned
at the bottom with the lower one being a SPACE_ACTION-type editor.
So timeline minimized at the bottom with another minimized area
directly above it and then window height is increased. Our code that
scales area vertices has specific code to keep a minimized timeline
at minimum height when at the bottom with increased window height. We
also have code that ensures that all areas are at least minimum height.
These two things conflict in this specific case because they are both
done while relying on area->winy, which is not updated between
operations. This PR uses screen_geom_area_height instead, which uses
screen vertex distances.

Pull Request: https://projects.blender.org/blender/blender/pulls/147764
2025-10-10 02:59:03 +02:00
Campbell Barton
60efc55fb0 Merge branch 'blender-v5.0-release' 2025-10-10 10:35:41 +11:00
tariqsulley
5a9f88faee Fix #100993: Snap Selection to Active fails to snap to active parent
The Selection to Active operator failed when the selected object was
parented to the active object. Fix by allowing child objects to move to
the active object unless "Offset" is enabled.

Ref !147204
2025-10-09 23:34:44 +00:00
Campbell Barton
45d184af44 Merge branch 'blender-v5.0-release' 2025-10-10 10:14:39 +11:00
tariqsulley
2f0d433592 Fix #125822: Armature X-ray prevents other objects from being selected
Armature X-ray overlay prevented selecting other objects even with
"Lock Object Modes" disabled.

Ref !146794
2025-10-09 23:13:35 +00:00
Sean Kim
919605bd9e Cleanup: Fix typos
Pull Request: https://projects.blender.org/blender/blender/pulls/147660
2025-10-09 21:16:13 +02:00
Sean Kim
0b37bbd8ac Cleanup: Remove unnecessary enum prefix in function declaration 2025-10-09 21:16:12 +02:00
Sean Kim
f8c29f98c2 Cleanup: Add const to function parameters
Pull Request: https://projects.blender.org/blender/blender/pulls/147493
2025-10-09 21:15:01 +02:00
Sean Kim
167c1f0d40 Cleanup: Use C++ style casts 2025-10-09 21:14:58 +02:00
Sean Kim
a7bd0847cb Merge branch 'blender-v5.0-release' 2025-10-09 12:04:02 -07:00
Sean Kim
a0ae015a42 Fix #146671: Weight Paint gradient tool can cause NaN
A combination of a linear gradient with the 'Sphere' distance curve
preset could cause NaN values due to evaluating the sqrt of a negative
value. To avoid this, clamp the input value to a lower bound of 0.0f.
This fixes the Smooth, Sphere, and Inverse Square presets.

Pull Request: https://projects.blender.org/blender/blender/pulls/146693
2025-10-09 21:03:28 +02:00
Clément Foucault
8b3b4cced6 Merge branch 'blender-v5.0-release' 2025-10-09 19:36:28 +02:00
Clément Foucault
73645a1047 Fix #147542: Overlay: Curve Sculpt Mode: Z-fighting with Cage overlay
The overlay just needed a bit of Z bias to avoid Z fighting.
2025-10-09 19:35:47 +02:00
Hans Goudey
ba1779c58f Merge branch 'blender-v5.0-release' 2025-10-09 13:30:12 -04:00
илья _
bfb0d2ad20 Fix #144846: Mesh triangulation can generate duplicate faces and edges
Mesh invariants imply that edges and faces must be unique, so things
like reversed edges or duplicate faces with equal vertices are invalid.
For this reason, every time we generate new elements we have to ensure
that all new elements are unique between each other and already existing
elements. The recent refactor (ea875f6f32) introduced a new
algorithm to generate new mesh elements, and deduplication of new
elements was also a part of it. The problem is that the deduplication
only guaranteed that the original elements and new elements don't
overlap; deduplication between each new elements is not complete.

To solve the problem both new triangles and new edges have to be
deduplicated, even if there is no duplicates. Just to know this we have
to build a hash sets.

Triangle deduplication is a special part of the triangulation code,
but edges already handled elsewhere in the code base.

This refactor fixes this by replacing the original approach with one
which guarantees distinct faces and edges in the result.

Unfortunately, this fix increases runtime of the node 10x for a simple
cube with 500-vertex sides. It should be possible to make the
performance better again, but that requires more work.

Other work had to be done to enable this, so this depends on:
- [x] 157e7e0351
- [x] fa8574b80b

Co-authored-by: Hans Goudey <hans@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/147634
2025-10-09 19:29:18 +02:00
Hans Goudey
155834d269 Merge branch 'blender-v5.0-release' 2025-10-09 13:12:40 -04:00
Hans Goudey
acbd057680 Fix #147680: Crash when voxel size is too small
These grid creation functions can return a grid without data when
certain parameters are invalid. The "set_output" function of the
geometry node execution parameters asserts that the data is
not null, so I assume this is invalid and causes crashes later on.

Pull Request: https://projects.blender.org/blender/blender/pulls/147741
2025-10-09 19:11:50 +02:00
Hans Goudey
984ff8d71d Merge branch 'blender-v5.0-release' 2025-10-09 13:09:43 -04:00
Hans Goudey
8a98c6992f Fix: Run node link pointer repair again
Run the versioning added in dbf777569b.
Another file from #147694 has this issue.

Pull Request: https://projects.blender.org/blender/blender/pulls/147737
2025-10-09 19:08:37 +02:00
Hans Goudey
97d585bf54 Merge branch 'blender-v5.0-release' 2025-10-09 13:04:41 -04:00
Hans Goudey
dc95ec9830 Fix: "Set ID" crash after recent change
Caused by ae2034e6c5

The extra code to handle different domains and types for the ID
attribute didn't handle the case where the field just referenced
the same array as the existing attribute on the goemetry. The generic
"capture field on geometry" utility does handle this, and using it is
preferrable anyway since optimizations can be reused.

Fixes part of #147694

Pull Request: https://projects.blender.org/blender/blender/pulls/147736
2025-10-09 19:03:49 +02:00
Aras Pranckevicius
f2f4434f75 Merge branch 'blender-v5.0-release' 2025-10-09 19:38:02 +03:00
Aras Pranckevicius
1973bad86c Fix #147636: VSE compositor modifier output translation has no effect
The final image produced by the compositor can have domain translation
on it (e.g. caused by a Translate or Transform node). Similar to how
the regular compositor viewer node remembers the output domain
translation, do the same in the compositor modifier.

Bubble back that translation up to VSE rendering code, where it is
then added to regular strip transform.

In order to make this "bubble up" part easier, refactored modifiers
so that instead of soup of parameters they all get a struct
ModifierApplyContext with all the relevant data.

Added a new VSE render test that covers various compositor
transformation nodes (translate, rotate, transform, corner pin).

Pull Request: https://projects.blender.org/blender/blender/pulls/147695
2025-10-09 18:36:44 +02:00
Richard Antalik
74fc101024 Fix #147577: Runtime Error warning on loading default workspace
Caused by null de-reference when accessing `sequencer_scene`.

Return false if sequencer scene is null to indicate, that the path to
strips or modifiers can not be created.

Pull Request: https://projects.blender.org/blender/blender/pulls/147594
2025-10-09 18:01:00 +02:00
Omar Emara
db347d0adf Merge branch 'blender-v5.0-release' 2025-10-09 18:28:30 +03:00
Omar Emara
5841cb21f7 Fix #146759: Radial Tilling node crashes in the compositor
The Radial Tilling node crashes in the compositor in GPU mode. This is
because the compositor does not yet support 2D vectors in shader code
generation, but properly supports and expects them in the interface,
which the Radial Tilling node declares. This results in a bad shader
which crashes Blender.

To properly fix this, we need to:

- Support 2D vectors in compositor GPU material shader code generation.
- Support 2D vectors in shader node GPU stack construction.
- Adjust the interface of radial tilling to actually use 2D vectors.

This seems risky for 5.0, so this patch temporarily drops support for
the node in the compositor in 5.0. Then once 2D vectors are supported,
it can be enabled again.

Pull Request: https://projects.blender.org/blender/blender/pulls/147627
2025-10-09 17:23:12 +02:00
Miguel Pozo
a267be0397 Merge branch 'blender-v5.0-release' 2025-10-09 17:00:34 +02:00
Miguel Pozo
f7ef7eff5e Fix: Overlay: Broken outline detection for faces perpedicular to the view
Apply the same fix used for Armatures.

Partially fixes #139555.
For correct flat object detection, #145227 is also needed.

(4.5 backport candidate)

Pull Request: https://projects.blender.org/blender/blender/pulls/147722
2025-10-09 16:58:58 +02:00
Miguel Pozo
83a1bd4e1d Fix #145750: Overlay: Attempt to index a handle range as a single handle
This fixes the resource indexing logic, but it looks like the flat
object outline workaround has been broken since 4.4.

Pull Request: https://projects.blender.org/blender/blender/pulls/147703
2025-10-09 16:58:25 +02:00
Hans Goudey
d445f12070 Merge branch 'blender-v5.0-release' 2025-10-09 10:52:27 -04:00
Hans Goudey
5a8d2b6624 Fix #147710: Crash binding Surface Deform modifier to faceless mesh
- Add an explicit check with a better error message than "Out of memory"
- Initialize SDefVert so the later null checks don't try to free
  uninitialized data.

Pull Request: https://projects.blender.org/blender/blender/pulls/147723
2025-10-09 16:49:42 +02:00