Commit Graph

107244 Commits

Author SHA1 Message Date
Bastien Montagne
1f9f7a07af Merge branch 'blender-v4.1-release' 2024-02-27 17:43:52 +01:00
Bastien Montagne
40480fe226 Fix #118693: Crash on linking collection, then undoing and re-doing operation.
Do not blindly iterate on a ListBase when you add or remove items
to/from it...

Own mistake in readfile refactor in 06/2023 (ebb5643e59).
2024-02-27 17:28:29 +01:00
Sean Kim
91fd6748ad Fix #111574: Avoid asserts in BMLog with Dyntopo
This PR adds a new method to BMLog to explicitly make the intent of
searching for an entry clear and adjusts the calling code in `pbvh_bmesh`
to utilize it.

Pull Request: https://projects.blender.org/blender/blender/pulls/118543
2024-02-27 17:18:47 +01:00
Bastien Montagne
9fe3de2289 Cleanup: blo_read_file_internal: Use local bool flag instead of bitflag check. 2024-02-27 17:07:36 +01:00
Bastien Montagne
118caa7b45 Blendfile Reading: delay reporting missing linked data after liboverrides resync.
When an asset is heavily modified, all production files having
liboverrides of it will still try to link all their known linked
reference IDs, leading to potentially thousands of not-really-useful
warnings about missing IDs in the console.

Now that liboverrides resync cleans up better these left-over data, it's
better to report missing linked data _after_ the liboverride resync
process.

Note that the original place can still report all effectively missing
linked data if needed, but this is now a logging info, so it won't be
displayed anywhere unless explicitely requested.

Pull Request: https://projects.blender.org/blender/blender/pulls/118577
2024-02-27 16:43:37 +01:00
Bastien Montagne
bef276ab0b LibOverride: Cleanup unused&missing data after resync.
Often when the reference linked data is significantly modified, a lot of
'ghost' linked data remain referenced by liboverrides, even after
resync. This is due to the fact that missing data is ignored (skipped)
during resync process, to avoid potential destruction of data in case
the linked data is actually missing.

However, after all resync has been done, we can consider that missing
linked references and their liboverrides can be safely deleted, if the
later are not user-edited or hierarchy roots.
2024-02-27 16:43:31 +01:00
Bastien Montagne
d067cdd94b Merge branch 'blender-v4.1-release' 2024-02-27 16:24:32 +01:00
Falk David
b305a02e0d Fix: GPv3: Crash in eraser
There are cases where the brush would not have any
`gpencil_settings` allocated.
In this case we could crash in the eraser tool (and also in the draw  tool)

This fixes the issue by calling `BKE_brush_init_gpencil_settings`
if the `gpencil_settings` on the brush are `nullptr`.
2024-02-27 16:20:30 +01:00
Bastien Montagne
e78224d751 Cleanup: RNA: Make PointerRNA parameter const for more accessors.
Still much to do here, but that's one step further.

Should be strictly non-behavioral change.
2024-02-27 16:14:39 +01:00
Lukas Tönne
3973963c01 Fix build error: duplicate DNA defaults line. 2024-02-27 14:43:36 +01:00
Lukas Tönne
c6e5e62f45 GPv3: Time offset modifier
Port of the Time Offset modifier from GPv2.

Pull Request: https://projects.blender.org/blender/blender/pulls/118371
2024-02-27 14:17:22 +01:00
Brecht Van Lommel
f00099f5f2 Cleanup: make format 2024-02-27 14:14:00 +01:00
Jeroen Bakker
f8785ba883 Cleanup: Make format 2024-02-27 13:47:51 +01:00
Jeroen Bakker
a012aeafd5 Revert "Fix: GPU: Reduce GPU_MAX_ATTR from 15 to 14"
This reverts commit d9caa19ec2.

This commit doesn't compile, and when fixing the issues, doesn't start
blender.
2024-02-27 13:44:41 +01:00
Jeroen Bakker
e273fb4226 Revert "Fix: GPU: Reduce GPU_MAX_ATTR from 15 to 14"
This reverts commit d9caa19ec2.

This commit doesn't compile, and when fixing the issues, doesn't start
blender.
2024-02-27 13:41:31 +01:00
Lukas Tönne
b1636bc781 Fix #118769: Remove parent parameter from new_panel function
Nested panels are not supported currently, and this parameter serves no
actual purposes. Only the root panel supports adding child panels and it
is not user-accessible (adding the root panel is done using a nullptr
for the parent).

Pull Request: https://projects.blender.org/blender/blender/pulls/118792
2024-02-27 13:30:13 +01:00
Pratik Borhade
c926b65132 Merge branch 'blender-v4.1-release' 2024-02-27 17:43:50 +05:30
Pratik Borhade
8e28536257 Fix #118706: Ctrl-X between Vector and Rotation will not preserve the linkage
Internal link is not created for a node when it has rotation output
socket. This is because the missing case for `sock_rotation` in
`get_internal_link_type_priority()` which fails to find input_socket
priority in this case.

Pull Request: https://projects.blender.org/blender/blender/pulls/118735
2024-02-27 13:10:26 +01:00
Pratik Borhade
05c4b7f588 Fix #118621: Obj Importer does not handle inline comments correctly
Add simple check in `geom_add_polygon` to skip comments that are on same
line as face corner index.

Pull Request: https://projects.blender.org/blender/blender/pulls/118742
2024-02-27 13:09:05 +01:00
Pratik Borhade
3ac936162a Fix: GPv3: Infinite loop when no material to remove
In separate layer and possibly with other operators, execution stuck in
infinite loop when there is no material to remove in `BKE_object_material_slot_remove`.

Pull Request: https://projects.blender.org/blender/blender/pulls/118796
2024-02-27 12:51:55 +01:00
dupoxy
d9caa19ec2 Fix: GPU: Reduce GPU_MAX_ATTR from 15 to 14
This is to accommodate Position and Normal attributes.
The normal used to be optional but isn't nowadays.

So the limit is actually 14 attributes until we do some big refactoring of
the attribute fetching.

Pull Request: https://projects.blender.org/blender/blender/pulls/118441
2024-02-27 12:19:09 +01:00
Sietse Brouwer
23ef8cc8e7 Fix: GPv3: Move to layer operator doesn't do anything
The 'move to layer' operator in GPv3 wasn't doing anything, since the `exec` function wasn't called by the operator's `invoke`.
Caused by b37ee403b2.

This PR fixes that.

Pull Request: https://projects.blender.org/blender/blender/pulls/118793
2024-02-27 11:54:21 +01:00
Campbell Barton
66a8cb6f72 Merge branch 'blender-v4.1-release' 2024-02-27 21:32:08 +11:00
Campbell Barton
3d18896e4b Fix #102526: Fix crash performing nested viewport drawing
Performing an off-screen draw call while drawing the viewport isn't
supported, add a check that raises an exception when called from Python
instead of crashing.

Ref: !118780
2024-02-27 21:29:38 +11:00
Campbell Barton
333090572c Merge branch 'blender-v4.1-release' 2024-02-27 21:27:51 +11:00
Campbell Barton
efdbdd6915 Fix #118767: Incorrect Python syntax highlighting for mult-line strings
Lines beginning with a back-slash used a previous character that
was initialized to the default which isn't correct for multi-line
strings.
2024-02-27 21:24:37 +11:00
Campbell Barton
f81448807c Merge branch 'blender-v4.1-release' 2024-02-27 20:51:50 +11:00
Omar Emara
219d06689d Fix: Shader compile error on Metal
Shader compile error on Metal due to mixing between float and integer
types. Fix by manual casting.
2024-02-27 11:48:29 +02:00
Campbell Barton
0d9cd1ee2d Fix crash hiding a region from Python with a popover & region overlap
This was reported as #93410 & fixed with [0] however the fix didn't
help for animated logic (with region overlap enabled).
Resolve by adding a function ED_region_visibility_change_update_ex which
is called by the animated and non-animated region hiding functions.

[0]: 8f69c91408
2024-02-27 20:47:48 +11:00
Omar Emara
b93d5d9c33 Merge branch 'blender-v4.1-release' 2024-02-27 11:43:09 +02:00
Omar Emara
d88cdb3cf1 Fix: Crash when the input of Kuwahara is translated
Blender would crash if the input of the Classic Kuwahara node is
translated. This is due to an out of bound access due to the miss-use of
IndexRange, where it was assumed to have a start-end constructor, while
it was in fact a start-size one. Fix this by computing the size from the
area and supplying it to the constructor.
2024-02-27 11:37:35 +02:00
Omar Emara
a7d4174f8b Compositor: Unify Keying node between CPU and GPU
This patch unifies the Keying node between the CPU and GPU. The
difference was due to imprecision when computing pixel saturation in the
CPU code. This typically happens when the pixel is gray-scale, and
should have a zero saturation, but it came out negative due to
imprecision. To fix this, reorder the mix expression so that the minimum
and maximum values are differenced first.

Ideally, the code shouldn't have such abrupt conditionals and should be
more robust to tiny imprecisions, but that would break the behavior and
should be evaluated separately.

Pull Request: https://projects.blender.org/blender/blender/pulls/118625
2024-02-27 10:09:16 +01:00
Omar Emara
3295123fca Fix: Variable sized blur truncates filter kernel
The GPU compositor Blur node truncates the filter kernel if the blur
radius is lower than the base radius. That's because it evaluated the
filter kernel only up to the desired radius. To fix this, we evaluate
at the entire kernel for all radii using a texture sampler for the
weights.
2024-02-27 11:03:15 +02:00
Lukas Tönne
ffcdf8b4dc Cleanup: Remove unused lambda capture. 2024-02-27 09:46:49 +01:00
Jeroen Bakker
be0c57a0a8 Cleanup: EEVEE: Use uint for enum specialization
Enums are stored as uints, but due to a missing implementation they
where stored in shaders as ints. As draw manager now supports uints
as specialization constants we can update these constants to be
stored as uints on the shader side as well.

Pull Request: https://projects.blender.org/blender/blender/pulls/118788
2024-02-27 08:38:31 +01:00
Campbell Barton
9795c432e1 Cleanup: avoid redundant copy-by-value for 4x4 matrices & float3 2024-02-27 17:57:50 +11:00
Jesse Yurkovich
96ef405c19 Merge branch 'blender-v4.1-release' 2024-02-26 22:47:41 -08:00
Jesse Yurkovich
5b65e2dd7c Fix #118704: permit filepaths without extensions in STL batch mode
The STL exporter was enforcing file paths with an extension when used
from the file browser. This would cause oddness during Batch export mode
and was different than the prior Python based exporter[1].

Permit the exporter to accept names without an extension as before.

[1] [Prior python exporter](https://projects.blender.org/blender/blender-addons/src/branch/blender-v4.0-release/io_mesh_stl/__init__.py#L239)

Pull Request: https://projects.blender.org/blender/blender/pulls/118777
2024-02-27 07:46:29 +01:00
Campbell Barton
63a295f307 Merge branch 'blender-v4.1-release' 2024-02-27 17:03:48 +11:00
Campbell Barton
b16ef496a6 Fix #113479: Crash on script error after calling modal_handler_add()
Operators that added themselves as modal handlers would crash if there
was a Python exception in the script before returning.

Now modal handlers are removed an exception occurs in exec & invoke
operator callbacks.
2024-02-27 16:38:01 +11:00
YimingWu
9e143968d3 LineArt: Fix back transformation issue for v3
Line art v3 strokes should not move along with the grease pencil object
to keep the same behaviour as the old line art. Now fixed.
2024-02-27 13:07:47 +08:00
Hans Goudey
ad648a83ac Merge branch 'blender-v4.1-release' 2024-02-26 22:33:10 -05:00
Hans Goudey
341166c728 Fix #118538: Sculpt smooth mask broken for multires
Mistake in bd51bb7623.
2024-02-26 22:31:55 -05:00
Campbell Barton
523909dd73 Merge branch 'blender-v4.1-release' 2024-02-27 13:10:12 +11:00
Campbell Barton
fe8e27ad17 Fix #116680: Crash disabling an add-on used in the file-selector
Clear SpaceFile::op pointer when unregistering an operator to
prevent a use after free error.
2024-02-27 13:04:38 +11:00
Ray Molenkamp
cfb60c98be CMake: MSVC: Add natvis file for blender's native types
This currently contains some types I personally needed
more types can be added if people desire them.

Due to the .natvis being added to creator, Visual Studio
will automatically pick up on these types and show the
improved visualizers while debugging.

vscode can also use this file, but you'll have to check
its documentation on how to set that up.

Pull Request: https://projects.blender.org/blender/blender/pulls/118576
2024-02-27 01:02:42 +01:00
Hans Goudey
dbc884fa92 Cleanup: Use enum class for sculpt mask filter type 2024-02-26 15:54:10 -05:00
Hans Goudey
f7b661b554 Cleanup: Remove useless sculpt mask filter enum descriptions
These don't add anything beyond the enum item names. Better to have
nothing than waste people's time reading useless descriptions.
2024-02-26 15:47:23 -05:00
Hans Goudey
19c6f7bfac Fix: Build error after recent commit with incorrect header names
5d9e127234
2024-02-26 15:14:25 -05:00
Hans Goudey
2697413fc7 Cleanup: Remove unused code in points to volume node 2024-02-26 15:04:29 -05:00