Commit Graph

121412 Commits

Author SHA1 Message Date
Falk David
e4e119c9df Merge branch 'blender-v4.5-release' 2025-07-08 18:12:36 +02:00
YimingWu
7c8b8b2457 Fix #141475: LineArt: Prevent image editor drawing when baking strokes
Line art bakes strokes in a separate thread, which will also update
depsgraph, and if an image editor is present, it will try to iterate all
the objects in the view layer and this is unsafe. Now line art will set
region drawing lock to prevent image editor from drawing while baking.

Pull Request: https://projects.blender.org/blender/blender/pulls/141551
2025-07-08 18:11:59 +02:00
Hans Goudey
69537feb57 Curves: Avoid reallocating handle types for every transform operation
Previously we would request the handle types with write access at the
start of every transform operation. Because the attribute arrays are
also used by the latest undo step, this would cause a reallocation of
the data and a copy. Instead only request write access if we're actually
going to modify the handle types.

This also lets us avoid tagging the topology cache unless the handle
types are actually changed.
2025-07-08 11:56:52 -04:00
Sybren A. Stüvel
1e0978f291 Merge remote-tracking branch 'origin/blender-v4.5-release' 2025-07-08 17:11:59 +02:00
Sybren A. Stüvel
fc32c26722 Fix #141323: Copy to Selected doesn't properly update on some Bone props
Fix an issue with Copy to Selected on bones, where an RNA pointer was
given an owner of the wrong type.

A pointer was constructed to a `Bone` (which is owned by the
Armature), but the owner was taken from the corresponding `PoseBone`
(which is owned by the Object), causing Armature "property update"
callbacks to be called without an actual Armature. This caused the
wrong data to be tagged for re-evaluation, which caused the issue.

Also f04bc75f8c affected the Copy to Selected on edit bones.

Co-authored by Philipp Oeser

Pull Request: https://projects.blender.org/blender/blender/pulls/141394
2025-07-08 17:10:54 +02:00
Germano Cavalcante
b8458b85a5 Fix #141614: Crash canceling 'Rotate Normal' operation
For optimization, 58af30f9b9 caused the creation of TransData and
`recalc_data` for the `Rotate Normal` operation to be skipped. However
`recalc_data` may still be called if we cancel the operation thus
causing a crash.
2025-07-08 11:47:13 -03:00
Hans Goudey
13f32fdf6c Merge branch 'blender-v4.5-release' 2025-07-08 10:14:45 -04:00
Hans Goudey
4eefd4d6dc Fix: Potential assert in curves AttributeStorage versioning
The runtime type map needs to be updated even if the CustomData
ends up being empty.
2025-07-08 10:04:01 -04:00
Sean Kim
11a0364495 Merge branch 'blender-v4.5-release' 2025-07-08 06:55:23 -07:00
Sean Kim
62568d16e5 Fix #140621: Multi-object edit mode displays non-active UVs as faded
The feature to display multiple objects in the UV and Image Editor was
added in 24d08e0bae.

This commit did not account the multi-edit mode feature, where there may
be more than one object currently being edited, causing some UVs to
display with a faded opacity.

To fix this, introduce a new `eObjectInfoFlag` flag to indicate this
state, populate it when syncing the object, and use the flag inside the
relevant shaders.

Pull Request: https://projects.blender.org/blender/blender/pulls/141254
2025-07-08 15:51:09 +02:00
Falk David
139cfea4ac Merge branch 'blender-v4.5-release' 2025-07-08 15:49:04 +02:00
Casey Bianco-Davis
46a6641c4d Fix: Grease Pencil: Bezier handle types not updating when transforming
When handles are selected but not the control point this will convert the types `auto` to `align` and `vector` to `free`

This adds `tag_topology_changed` to make sure the handle types are updated.

This also fixes a problem where `free` handle would not be transformed with the control point.

Implement following Curve objects #128638

Pull Request: https://projects.blender.org/blender/blender/pulls/141438
2025-07-08 15:47:38 +02:00
Jeroen Bakker
125726cda0 Merge branch 'blender-v4.5-release' 2025-07-08 15:43:37 +02:00
Jeroen Bakker
20bad6e29a Fix #141477: Crash during material selection
Material selection didn't support empty geometries. Geometry list can
have nullptrs, when meshes contain more than 16 materials, but some
materials slots are not actually used in the mesh.

Material selection used to still looped over all the materials and
tried to draw geometry that aren't there.

Regression from !139781

Pull Request: https://projects.blender.org/blender/blender/pulls/141608
2025-07-08 15:42:59 +02:00
Pratik Borhade
a440cf47d9 Fix #141235: Unable to pick any brush from the Asset Popup
Caused by a7b4137f3e. Callback was replaced by new click select
operator. This operator doesn't work due to missing keyitem pair in
every keymap which allows asset_shelf_popover. Adding keymap itself
wasn't sufficient, poll function was failing due to popover being closed
after click. Now fixed by forcing `activate()` inside
`force_activate_view_item_but`.

Pull Request: https://projects.blender.org/blender/blender/pulls/141263
2025-07-08 15:20:40 +02:00
Campbell Barton
58959caac9 Merge branch 'blender-v4.5-release' 2025-07-08 23:02:01 +10:00
Marc Hamamji
2aa7502d3b Fix #139533: Select vertices and faces after bevel operation
When beveling a vertex with only 2 connected edges, the resulting
geometry was not selected.

Resolve by not only selecting the faces created by the bevel operation,
but also selecting the vertices created.

Note: apply the same change as before,
the LFS data has been manually pushed.

Ref !139691
2025-07-08 22:57:41 +10:00
Brecht Van Lommel
63cfc32dea Merge branch 'blender-v4.5-release' 2025-07-08 14:56:00 +02:00
Alaska
6cd82784a5 Fix #141519: EEVEE automatic light threshold doesn't work with exposure
Pull Request: https://projects.blender.org/blender/blender/pulls/141526
2025-07-08 14:55:14 +02:00
Campbell Barton
d9a5377104 Merge branch 'blender-v4.5-release' 2025-07-08 22:20:28 +10:00
Campbell Barton
1eb9933e5e Merge branch 'blender-v4.5-release' 2025-07-08 22:20:25 +10:00
Campbell Barton
cbb32d104a Revert "Fix #139533: Select vertices and faces after bevel operation"
This reverts commit 3f6262f115.

There is a problem with the blend file not being on the server,
Reverting until the issue can be resovled.
2025-07-08 22:19:58 +10:00
Jeroen Bakker
402cf10760 Fix #141476: Vulkan: Disable descriptor buffer on Windows/Intel
Windows/Intel GPU crashes when descriptor buffer cannot be allocated
anymore. This PR enables a workaround by not using descriptor buffers.

In future we should investigate how to improve the GC of descriptor
buffers and review the limits.

Pull Request: https://projects.blender.org/blender/blender/pulls/141600
2025-07-08 14:02:51 +02:00
Campbell Barton
5f4478f2e4 Merge branch 'blender-v4.5-release' 2025-07-08 22:02:07 +10:00
Campbell Barton
dd574b2f85 Merge branch 'blender-v4.5-release' 2025-07-08 22:02:03 +10:00
Andrej730
8246ea913f Fix: wrong argument name in doc-string
Correct regression from !141334.

Ref !141592
2025-07-08 12:00:32 +00:00
Habib Gahbiche
3eb4a59a13 Fix: Viewer nodes inside node groups not updating properly
Switching back and forth between viewers with shortcuts doesn't trigger
the compositor to update as expected when inside a node group.
See PR description for an example file.

The issue was caused by a missing tree update.

Pull Request: https://projects.blender.org/blender/blender/pulls/141606
2025-07-08 13:52:53 +02:00
Campbell Barton
26c90076cf Merge branch 'blender-v4.5-release' 2025-07-08 21:50:49 +10:00
Marc Hamamji
3f6262f115 Fix #139533: Select vertices and faces after bevel operation
When beveling a vertex with only 2 connected edges, the resulting
geometry was not selected.

Resolve by not only selecting the faces created by the bevel operation,
but also selecting the vertices created.

Ref !139691
2025-07-08 21:42:11 +10:00
Campbell Barton
6a9cccb917 Merge branch 'blender-v4.5-release' 2025-07-08 20:35:32 +10:00
Campbell Barton
cce5dee245 Merge branch 'blender-v4.5-release' 2025-07-08 20:35:22 +10:00
Jason C. Wenger
065313eabe Fix edge dissolve behavior with face-split
Correct problem where face split inadvertently triggered the
un-triangulate detection logic in places due to freshly added diagonals.

Defer face split until after tagging is complete so the new edges don't
interfere with edge counting.

Ref !141511
2025-07-08 10:33:25 +00:00
Pratik Borhade
e275497bfc Fix: Update tree view when selecting shape key from dopesheet
Set `shapenr` and add notifier condition in listener callback to update
tree view when shape key channel is selected in dopesheet

Pull Request: https://projects.blender.org/blender/blender/pulls/141541
2025-07-08 12:11:53 +02:00
Falk David
a1893bf5e1 Fix #139194: Grease Pencil: Crazyspace deformation broken when evaluated layers don't match original
When the layer tree in the evaluated state of the Grease Pencil object changed,
the code would fail to get the crazyspace deformation.

Currently we rely on a 1 to 1 index mapping of the original and evaluated
layers. For obvious reasons, this is very weak and can easily break.

The new implementation works as follows:
* Caller that wants to get the crazyspace deformation passes the evaluated and original
   object + the original drawing to get the deformation of.
* Fallback deformation are the original positions.
* If there are drawing edit hints in the evaluated geoemtry set, then
  * find the edit hint that corresponds to the original drawing
  * use the positions in the edit hint.

To create the drawing edit hints, we need to know what evaluated layer corresponds
to which original layer. Currently, this simply stores the original layer index on the
evaluated layer runtime data.

The solution is not ideal and there are some possible improvements like:
* Find a way to solve the more general case, e.g. when there are multiple original
  IDs involved.
* Propagate the "mapping" to original layers even when the type of geometry is
  changed, like going to curve instances and back.

Pull Request: https://projects.blender.org/blender/blender/pulls/139285
2025-07-08 12:11:42 +02:00
Guillermo Venegas
4c7e1264a3 Fix: Asset shelf scrolling distance wrong when scrolling down
The currently it requires the mouse to `1.5 * page_size`
from the top to the bottom to scroll down, this change
instead makes the pan scroll to happen every half page
size in both directions.

Completes fixes for #110779

Pull Request: https://projects.blender.org/blender/blender/pulls/111520
2025-07-08 12:02:48 +02:00
Omar Emara
44f86dc7ed Merge branch 'blender-v4.5-release' 2025-07-08 12:47:15 +03:00
Omar Emara
1dbeeacc80 Fix: Kuwahara Size can be negative
The Kuwahara node allows negative size which this should not be the
case.
2025-07-08 12:45:28 +03:00
Eitan Traurig
07994003b6 UI: Disable mirror and update shape from objects shapekey operators when list is empty
Grey out these operators when shape key list is empty.

See images in PR description

Pull Request: https://projects.blender.org/blender/blender/pulls/141468
2025-07-08 11:39:10 +02:00
Habib Gahbiche
c99a35123e Merge branch 'blender-v4.5-release' 2025-07-08 11:35:01 +02:00
Benjamin Beilharz
b709984df6 Compositor: Add Extension Mode for Transform node
This commit introduces the extension modes to the transform node and
further streamlines the node properties by wrapping all props in a node
storage. Therefore, the interpolation mode has been removed from the
custom properties of the node and moved into the node storage.

Pull Request: https://projects.blender.org/blender/blender/pulls/141487
2025-07-08 11:34:29 +02:00
Habib Gahbiche
75333e0ea5 Fix: Compositor: Potential crash if no active context is found
This is related to #140381, where the symptom of the bug was a crash
caused by an undefined behavior. In that case, setting a valid active
viewer key was the proper fix. However,
`find_active_context_recursive()` could return `nullptr` in theory so
the same problem might occur in the future.

The commit resolves the undefined behavior by avoiding the
dereferencing of a null pointer.

Pull Request: https://projects.blender.org/blender/blender/pulls/141270
2025-07-08 11:34:11 +02:00
Benjamin Beilharz
00ed2030cb Compositor: Add Extension Mode for Scale node
This commit introduces Extension Mode for the Scale node.

Pull Request: https://projects.blender.org/blender/blender/pulls/141485
2025-07-08 11:07:28 +02:00
Pratik Borhade
4b4c9c8ed1 Cleanup: Remove extra if block from poll function
Missed during review !141283

Pull Request: https://projects.blender.org/blender/blender/pulls/141599
2025-07-08 10:39:52 +02:00
Campbell Barton
5781276ecb Cleanup: remove capabilities from the PyAPI that aren't used 2025-07-08 16:41:46 +10:00
Campbell Barton
439253eab5 Cleanup: use consistent terms in capability flags
Consistently use terms "cursor" & "clipboard" as a prefix
so they auto-complete more usefully.

Previously both ordering was used.
2025-07-08 16:35:42 +10:00
Campbell Barton
7c41250916 Fix large software cursors with Hi-DPI display on Wayland
Since the cursors are now generated from SVG's at the correct size
there is no need to scale them up when drawing software cursors.
2025-07-08 16:35:42 +10:00
Omar Emara
3fcf4b4763 Merge branch 'blender-v4.5-release' 2025-07-08 08:59:03 +03:00
Omar Emara
1c98f29ed3 Fix: Wrong GL data format for RG integer textures
The GPU_RG16I format was assigned a wrong GL data format, which is
probably a typo.

Pull Request: https://projects.blender.org/blender/blender/pulls/141409
2025-07-08 07:57:33 +02:00
Campbell Barton
09260bf6c0 Merge branch 'blender-v4.5-release' 2025-07-08 15:38:58 +10:00
Campbell Barton
20ee5c2283 Fix buffer overflow reading the selection buffer
Reading from the top-right of the selection buffer could read
past the buffer bounds. Resolve by ensuring the clamped buffer
isn't empty. Relates to #141591.
2025-07-08 15:38:18 +10:00