124020 Commits

Author SHA1 Message Date
Weizhen Huang
82892b6f08 Merge branch 'blender-v5.0-release' 2025-10-15 11:24:11 +02:00
Bastien Montagne
408a0b58d4 Fix #147317 Crash on undo/redo with PackedData.
The issue here was that when an archive library ID is read from
blendfile (memfile undo buffer in that case), a new split main is
immediately created for it in `direct_link_library`, and the newly
read Library is assigned to its `Main::curlib` pointer.

However, in undo readfile code, when an old matching ID is found, the
new data is moved into that old address, to avoid modifying all other
unchanged ID using that re-read data-block.

For (archive) libraries, it means that their split main `curlib` pointer
also needs to be re-assigned to the re-used old address.

Pull Request: https://projects.blender.org/blender/blender/pulls/147744
2025-10-15 11:09:01 +02:00
Pratik Borhade
8712909ae1 Merge branch 'blender-v5.0-release' 2025-10-15 14:37:28 +05:30
Pratik Borhade
a5618366cb Fix #147993: Space bar not playing on Playback Controls footer
Possibly caused by 2ae953d7f5
Include `ED_KEYMAP_FRAMES` flag for footer region. This will
listen/handle keymap events of spacebar when mouse is over the
footer region.

Pull Request: https://projects.blender.org/blender/blender/pulls/148021
2025-10-15 11:06:43 +02:00
Campbell Barton
b79a9b530b Merge branch 'blender-v5.0-release' 2025-10-15 19:00:29 +11:00
Campbell Barton
e809e6364d PyAPI: prevent indices below -1 being used by StructRNA.path_from_module
Disable this as RNA paths don't support Python-style negative indexing.

Ref !147255
2025-10-15 07:59:23 +00:00
Campbell Barton
da43cbd22a Merge branch 'blender-v5.0-release' 2025-10-15 18:48:37 +11:00
Campbell Barton
be43077b1b Fix: crash printing integers in IDP_reprN
Regression in [0] caused printing integers to crash.
While this function isn't widely used it could crash logging
key-map items.

Also add tests for IDP_reprN.

Ref !148109

[0]: 92cf9dd2f2
2025-10-15 07:46:58 +00:00
Campbell Barton
8cb4e466f4 Merge branch 'blender-v5.0-release' 2025-10-15 18:10:57 +11:00
Campbell Barton
7bc7b7743b Fix #147984: "Open Image" button always creates absolute file path
Before [0] this was read from the filepath, however some sequencer
operators only defined a `directory` & `files` and would attempt
to use a non-existent `filepath` property to detect if the path
was relative.

Resolve by making the directory relative as well as the filepath.

Ref !148106

[0]: 7d67113a8a
2025-10-15 07:09:59 +00:00
Harley Acheson
eb80ed1dd5 Merge branch 'blender-v5.0-release' 2025-10-14 18:16:01 -07:00
Harley Acheson
75e06730a8 Fix #147684: Close Tooltips When Out of Menu Bounds
With #145523 it is possible to have a tooltip open on a menu or popup
and it will not go away when expected. This PR removes any tooltips if
you move out of the menu item bounds.

Pull Request: https://projects.blender.org/blender/blender/pulls/148099
2025-10-15 03:14:17 +02:00
Campbell Barton
649a909206 Merge branch 'blender-v5.0-release' 2025-10-15 09:43:57 +11:00
Jorn Visser
b3ba6465f4 Fix #139387: Crash reading invalid images from network drives on WIN32
Improve mmap handling of IO errors on WIN32.

Make MMAP gracefully handle IO errors on Windows by replacing the
mapping with zeros using a vectored exception handler when an
EXCEPTION_IN_PAGE_ERROR is raised. This is similar to how such errors
are handled on non-Windows platforms.

On Windows, this is implemented by first creating a placeholder
allocation and then mapping the file into it. When an error occurs, the
exception handler unmaps the file, keeping the placeholder intact, and
creates an anonymous mapping into it, after which execution can
continue.

Since some required functions don't exist on older Windows versions,
the error handling will only work on Windows 10, version 1803 or newer.

Ref !139739
2025-10-14 22:38:10 +00:00
Hans Goudey
2deba20912 Fix: Mesh boolean redundant transfer of edge attributes
In 157e7e0351 edge calculation was updated to
propagate attributes, but the manifold boolean propagates
edge attributes itself. It seems this causes some issues where
boolean attributes get invalid values, which I discovered while
developing #148063. I didn't investigate too deeply because
I'm going to have to restructure this code for #122398 anyway.

Pull Request: https://projects.blender.org/blender/blender/pulls/148096
2025-10-14 23:12:33 +02:00
Hans Goudey
52e169b59c Merge branch 'blender-v5.0-release' 2025-10-14 14:51:41 -04:00
Hans Goudey
8be01c2ce0 Fix #147270: Smooth by angle asset detection broken
Previous attempts:
- 6d884e0da5
- 80e8493c11

It seems `BLI_path_normalize` was doing more than necessary and that
was getting in the way. This PR adds an automated test to avoid the issue
in the future.

Pull Request: https://projects.blender.org/blender/blender/pulls/148069
2025-10-14 20:50:36 +02:00
Harley Acheson
4e4c7543dc Merge branch 'blender-v5.0-release' 2025-10-14 10:59:54 -07:00
Harley Acheson
8b726ad83d Fix #148030: Right Side Corner Zone Width Change
With #144591 it was not my intent to increase the width of the right-
side corner action zones when visible "Corner Handles" are enabled. It
is only the left side that gains the icon so making the right side
wider only interferes with other content. This PR just fixes this by
defining different widths for right versus left zones.

Pull Request: https://projects.blender.org/blender/blender/pulls/148076
2025-10-14 19:58:04 +02:00
Sean Kim
34c7fb95d1 Merge branch 'blender-v5.0-release' 2025-10-14 10:39:34 -07:00
Sean Kim
8d1688383e Fix #147774: Newly created brush causes crash when used
While uncommon, brush initialization does happen in some addon
workflows. Prior changes to use custom pressure curves in more places
did not initialize the `CurveMapping` struct correctly.

Pull Request: https://projects.blender.org/blender/blender/pulls/147840
2025-10-14 19:38:41 +02:00
Leon Schittek
8a78c14d03 Nodes: Remove resize widgets from collapsed nodes
Collapsed nodes had a specific widget to change their width.
Now that collapsed nodes are square rather than pill-shaped, the edges
can be used to resize them, just like in the uncollapsed state.
Therefore the scape widget can be removed.

Pull Request: https://projects.blender.org/blender/blender/pulls/147576
2025-10-14 18:05:11 +02:00
Sybren A. Stüvel
d609bd3668 Cleanup: document id_lib_extern()
Add documentation for `id_lib_extern()`.

No functional changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/148006
2025-10-14 16:59:34 +02:00
Hans Goudey
0e796fd33e Merge branch 'blender-v5.0-release' 2025-10-14 10:58:36 -04:00
Jacques Lucke
0be7678702 Fix #148003: crash when using incorrect grid type in Get Named Grid node
The node was lacking any grid type checking. Now it also does implicit
conversions when the requested grid type does not match the type of the stored
grid.

Pull Request: https://projects.blender.org/blender/blender/pulls/148038
2025-10-14 16:57:26 +02:00
илья _
db6bb01938 Fix #147797: Geometry Nodes: Assertion in edge calculation for import mesh
To scatter all map edges for original indices we don't need to take
a slice of destination edges.

Pull Request: https://projects.blender.org/blender/blender/pulls/147874
2025-10-14 16:56:48 +02:00
Habib Gahbiche
8e1ef54ae9 Fix #147678: Unsupported/Unlisted nodes can be created from menu-inputs in the compoositor
Remove support in the compositor for the following nodes:
- Combine Bundle
- Separate Bundle
- Closure Input
- Closure Output
- Evaluate Closure
- Repeat Input
- Repeat Output

Pull Request: https://projects.blender.org/blender/blender/pulls/147998
2025-10-14 16:56:11 +02:00
Hans Goudey
667054a2eb Merge branch 'blender-v5.0-release' 2025-10-14 10:54:08 -04:00
Hans Goudey
5cf0076d7e Fix #148050: Mesh join crash with no faces in inputs
Pull Request: https://projects.blender.org/blender/blender/pulls/148066
2025-10-14 16:53:31 +02:00
Hans Goudey
d711fb0dfc Merge branch 'blender-v5.0-release' 2025-10-14 10:53:05 -04:00
Brady Johnston
fbabb474cd Fix: Geometry Nodes: Compiler warning on some systems
I can't replicate the warning locally - but some developers have
been getting compiler warnings. Comments out the error which
should fix compiler warnings.

Pull Request: https://projects.blender.org/blender/blender/pulls/148049
2025-10-14 16:52:13 +02:00
Hans Goudey
d0dd9036e8 Merge branch 'blender-v5.0-release' 2025-10-14 10:51:26 -04:00
Damien Picard
f4dd22b7d9 Cleanup: Remove unused, or deduplicate node enum items
- `rna_enum_node_float_compare_items` has not been in use since
  943b919fe8, remove it.
- `rna_enum_node_combsep_color_items` is defined twice, deduplicate
  it.

Pull Request: https://projects.blender.org/blender/blender/pulls/148054
2025-10-14 16:51:03 +02:00
Hans Goudey
febbcfa590 Merge branch 'blender-v5.0-release' 2025-10-14 10:42:11 -04:00
Sybren A. Stüvel
4db3eee0d1 Fix #148004: Dope Sheet editor playback controls are off by default
Enable the Playback Controls (footer region) by default in the Dope Sheet
editors.

Pull Request: https://projects.blender.org/blender/blender/pulls/148008
2025-10-14 15:56:02 +02:00
Bart van der Braak
f359aee3bd Fix #148031: Build issue on Windows x64 with missing include
This issue was introduced by 1d372bdc8b and only shows up when doing a release build without `-DWITH_ASSERT_RELEASE=ON -DWITH_ASSERT_ABORT=ON`.

Pull Request: https://projects.blender.org/blender/blender/pulls/147296
2025-10-14 15:22:27 +02:00
Omar Emara
28f84831c3 Fix #144815: Assert when loading certain files
Th compositor asserts when loading certain files. Those file were saved
with an invalid active viewer key, possibly due to a bug that was fixed
already in c8cb24121f, but blend files were never updated.

So starting in 5.1, we fix those files by essentially doing what
ED_node_set_active_viewer_key is supposed to do at load time during
versioning.

Pull Request: https://projects.blender.org/blender/blender/pulls/148047
2025-10-14 14:39:27 +02:00
Omar Emara
df8683ec2a EEVEE: Support different dimensions vector sockets
This patch adds support for the dimensions property of vector sockets,
support 2D and 4D sockets in addition to the currently supported 3D one.
This just involves assigning the correct GPU type when constructing the
GPU materials from nodes.

The only node that uses 2D sockets for now is the Radial Tilling node,
so we just need to update its interface.

Pull Request: https://projects.blender.org/blender/blender/pulls/148034
2025-10-14 13:24:17 +02:00
Pratik Borhade
bf09f90338 Merge branch 'blender-v5.0-release' 2025-10-14 16:35:51 +05:30
Pratik Borhade
084f04ec09 Fix: Gray out shape key when muted
Missed during migrating shape keys to tree view.

Pull Request: https://projects.blender.org/blender/blender/pulls/147798
2025-10-14 13:03:29 +02:00
Jacques Lucke
5be95161a4 Fix #147747: Shader Nodes: wrong code gen order
Currently, sometimes shader code generation fails because the code of top-level
nodes is interleaved with the code of a repeat zone. See #147747 for more
details.

Previously, the code-generation order was just the standard toposort of the node
tree, but it does not guarantee that all nodes in a zone are next to each other.
Also, it can't easily, because the zone detection itself depends on the
toposort. This patch implements another sorting step on top of the default
toposort. It packs nodes in zones together without changing the validity of the
toposort.

This is an alternative to #147999.

Pull Request: https://projects.blender.org/blender/blender/pulls/148005
2025-10-14 12:08:32 +02:00
Jacques Lucke
2fc32a2f18 Fix #147747: Shader Nodes: wrong code gen order
Currently, sometimes shader code generation fails because the code of top-level
nodes is interleaved with the code of a repeat zone. See #147747 for more
details.

Previously, the code-generation order was just the standard toposort of the node
tree, but it does not guarantee that all nodes in a zone are next to each other.
Also, it can't easily, because the zone detection itself depends on the
toposort. This patch implements another sorting step on top of the default
toposort. It packs nodes in zones together without changing the validity of the
toposort.

This is an alternative to #147999.

Pull Request: https://projects.blender.org/blender/blender/pulls/148005
2025-10-14 12:06:56 +02:00
Omar Emara
a2146839d7 EEVEE: Unify float2 implicit conversion with other parts of Blender
This patch adjusts the implicit conversion rules involving float2 to
match other parts of Blender, like BKE Conversions, Geometry Nodes, and
the Compositor. The new rules also make much more sense to me on their
own.

The GPU_VEC2 is no currently used for GPU materials as far as I can see,
so this should not be a breaking change.

Pull Request: https://projects.blender.org/blender/blender/pulls/148033
2025-10-14 12:04:40 +02:00
Philipp Oeser
8cb79389de Merge branch 'blender-v5.0-release' 2025-10-14 11:48:52 +02:00
Philipp Oeser
88aff1400d Compositor: dont show exection time if node is unconnected
This is in line with what Geometry Nodes do

NOTE: this originated as a "workaround" for #147752
( but does not tackle its root cause at all... that one is
already fixed with 577a66aea2 )

Pull Request: https://projects.blender.org/blender/blender/pulls/147802
2025-10-14 11:48:10 +02:00
Jacques Lucke
578f50aaa6 Merge branch 'blender-v5.0-release' 2025-10-14 11:19:05 +02:00
Jacques Lucke
7fd0a5acef Fix #147878: bad usage inferencing when there is a link cycle
The inferencing algorithm does not work reliably when the tree has cycles. So
return early and assume everything is used. The user is expected to fix the bad
link as soon as possible.

Pull Request: https://projects.blender.org/blender/blender/pulls/148009
2025-10-14 11:18:22 +02:00
Falk David
8543083656 Merge branch 'blender-v5.0-release' 2025-10-14 10:53:20 +02:00
Casey Bianco-Davis
2bb7a9f05d Fix #147402: Pen Tool doesn't return to the Aligned type after LeftCtrl
This makes it so that the Pen Tool will return the handle type back
to `Align` after letting go of `LeftCtrl`

This effects Grease Pencil and Curves objects.

Pull Request: https://projects.blender.org/blender/blender/pulls/147943
2025-10-14 10:50:21 +02:00
Sybren A. Stüvel
3a75bae825 Fix #148010: instant crash opening any file with Dopesheet and Keyframes
Fix the code path that left the `color` pointer uninitialized when
drawing.

Pull Request: https://projects.blender.org/blender/blender/pulls/148013
2025-10-14 09:17:03 +02:00