Commit Graph

41154 Commits

Author SHA1 Message Date
Thomas Dinges
31eaa2f5ba Merge branch 'blender-v4.1-release' 2024-03-20 08:38:41 +01:00
Campbell Barton
3135e766ec Cleanup: replace UI_MAX_NAME_STR with BKE_ST_MAXNAME
Since [0] some comments referencing UI_MAX_NAME_STR were incorrect.
Also correct buffer size for preview_id in uiTemplatePreview so newly
created names are guarantee to be the correct size.

[0]: a180314ac5
2024-03-20 15:14:08 +11:00
Sean Kim
130ce5f53d Cleanup: Remove redundant function prefixes in sculpt_trim.cc
This PR strips the `sculpt_gesture_trim` prefix and other similar
prefixes from the `sculpt_trim.cc` code, as it is already contained
within the `blender::ed::sculpt_paint::trim` namespace.

Pull Request: https://projects.blender.org/blender/blender/pulls/119680
2024-03-20 03:41:21 +01:00
Campbell Barton
9edb2784da Fix #117320: UV Sync-select selects faces instead of just edges 2024-03-20 13:39:43 +11:00
Sean Kim
e53d4e423e Cleanup: Convert sculpt_trim.cc to enum class
This PR converts the three `enum` definitions to `enum class` in sculpt_trim.cc

Pull Request: https://projects.blender.org/blender/blender/pulls/119679
2024-03-19 22:38:25 +01:00
Hik
2d49cc597f Fix #119275: Update Sidebar Values with Voxel Size Changes
Add notifier when changing sculpt voxel size so that the new value is
shown in the sidebar.

Pull Request: https://projects.blender.org/blender/blender/pulls/119646
2024-03-19 20:57:28 +01:00
Hans Goudey
3641b4b884 Fix #119586: Vertex paint mode crash after converting color attribute
Converting a color attribute to a non-color domain or type causes vertex
paint mode to try to change the attribute even though it's unsupported.
That leads to a crash here and unpredictable behavior elsewhere.

This PR modifies some poll functions to check for the proper domain and
data type before continuing. Even if converting an attribute properly
updates the active color attribute, we can still run into situations where
the active name references an attribute with incorrect metadata.

Pull Request: https://projects.blender.org/blender/blender/pulls/119657
2024-03-19 19:49:00 +01:00
Amine Bensalem
1e478cf169 Fix #118137: Symmetry buttons on-click state change
Buttons for mesh symmetry on the toolbar, and other buttons of the same
functionality located in other areas of the window, weren't updated when
clicking on them.

Pull Request: https://projects.blender.org/blender/blender/pulls/118508
2024-03-19 18:49:40 +01:00
Brecht Van Lommel
c12ac94520 Cleanup: make format 2024-03-19 18:20:23 +01:00
Bartosz Kosiorek
18340fa057 UI: Extend description of Grid, Cube, UV Sphere and Ico Sphere
Pull Request: https://projects.blender.org/blender/blender/pulls/119331
2024-03-19 18:19:19 +01:00
Sean Kim
9b5b1f525f Cleanup: Limit sculpt gesture RNA operator properties
This PR limits adding the RNA property `use_limit_to_segment`
to `ShapeType::Line` based sculpt gesture operators, as the
property is inapplicable for the other two types.

Pull Request: https://projects.blender.org/blender/blender/pulls/119670
2024-03-19 17:32:59 +01:00
Hans Goudey
803c783e52 Merge branch 'blender-v4.1-release' 2024-03-19 11:59:26 -04:00
Hans Goudey
cc0e015a35 Fix #119177: False positive dyntopo attribute detection warning
".sculpt_mask" is handled as a special case for dynamic topology
but wasn't detected that way in the warning.

Pull Request: https://projects.blender.org/blender/blender/pulls/119665
2024-03-19 16:55:21 +01:00
Sybren A. Stüvel
cd476226d8 Fix #119402: Bone collections layers fail with pinned object or armature #119434
Don't assume armature of active object is what is displayed in the properties editor, both in C++ and Python code.

Object pointer was left out from some notifiers, as this means only that object was changed. But an armature datablock can be shared by multiple objects.

Co-authored-by: Brecht Van Lommel <brecht@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/119663
2024-03-19 16:27:06 +01:00
Philipp Oeser
2dcee3d698 Merge branch 'blender-v4.1-release' 2024-03-19 14:06:11 +01:00
Philipp Oeser
4a7c5d3d3d Fix #119534: Action Editor empty channels region without active action
Caused by a96f1208cc

For `SPACE_ACTION` (`SACTCONT_ACTION`), `actedit_get_context` will
return true, but `ANIM_animdata_context_getdata` also checks the
`bAnimContext` data [which in this case is the action], so will **not**
return true.

As a result we are skipping drawing the background and the search, which
is now done again.

Pull Request: https://projects.blender.org/blender/blender/pulls/119621
2024-03-19 14:05:42 +01:00
Jacques Lucke
3ad4ea81d1 Nodes: rename multi_input_socket_index to multi_input_sort_id
For historical reasons, the `multi_input_socket_index` was actually reversed
(large index comes first). This patch renames it to `multi_input_sort_id` and
adds a comment. This new name makes it less confusing that the id is reversed.

Pull Request: https://projects.blender.org/blender/blender/pulls/119652
2024-03-19 13:42:09 +01:00
Falk David
462437de20 Fix: GPv3: Assert in LayerTreeView::build_tree()
This was caused by 745fd2a2cb.
The issue was that there was an attempt at calling
`uncollapse_by_default` on a `LayerViewItem`
which can't be collapsed (because it can't have any children).
This then triggered the assert.

The fix removes the call to `uncollapse_by_default` for
`LayerViewItem`.
2024-03-19 11:50:46 +01:00
Pratik Borhade
1ef6d1a11b Merge branch 'blender-v4.1-release' 2024-03-19 14:58:56 +05:30
Pratik Borhade
43e968dc78 Fix #119612: Markers bar in NLA blocks view of final track in list
Mistake in a96f1208cc.
When markers are present, offset should be added to the height.
Earlier it was subtracted like so `v2d->tot.ymin -= MarkerMargin` and that worked
because ymin is assigned like so `v2d->tot.ymin = -height`.
Now that the marker margin is added to the height it needs to be additive.

Pull Request: https://projects.blender.org/blender/blender/pulls/119647
2024-03-19 10:26:29 +01:00
Campbell Barton
a535524fe1 Fix #119500: Installing an Extension via dragging has no feedback
Call the install operators directly instead of using bpy.app.handlers.
Now reports from installing are in the status bar.
2024-03-19 18:12:10 +11:00
Harley Acheson
061a9ee885 UI: Add Optional Flags for Tooltip Image Fields
Add more flexibility to tooltip images by adding the ability to specify
if (one of two) checkerboards are added, border, premultiplied
blending, or recoloring.

Pull Request: https://projects.blender.org/blender/blender/pulls/119437
2024-03-18 22:17:45 +01:00
Julian Eisel
0d7ac2542e Merge branch 'blender-v4.1-release' 2024-03-18 19:37:56 +01:00
Julian Eisel
745fd2a2cb Fix: Tree-view items always collapsed by default
Since 660867fa00, having tree-view items uncollapsed by default using
the `set_collapsed()` functions wouldn't work anymore. An attempt to do
this would assert even, so eb71d9f7bc disabled the assert.

I think a function designed to handle exactly this is the best solution,
it makes the intent & behavior more clear than before, and highlights
that this is a special case.

Mitigates #117957, in that it solves the regression, but tree-views still
don't remember their state on screen-layout changes. This is a known
limitation and not supported.

Pull Request: https://projects.blender.org/blender/blender/pulls/119166
2024-03-18 19:32:53 +01:00
Brecht Van Lommel
7a395e2e7f Revert changes from main commits that were merged into blender-v4.1-release
The last good commit was f57e4c5b98.

After this one more fix was committed, this one is preserved as well:
67bd678887.
2024-03-18 15:04:12 +01:00
Jacques Lucke
67bd678887 Fix #119578: crash when node tool does not have geometry as first output socket
This was simply missing a check and error message. The same error message
is shown when the node group is used as modifier.

Pull Request: https://projects.blender.org/blender/blender/pulls/119604
2024-03-18 14:36:43 +01:00
Harley Acheson
bec9b4bc4b UI: Update Polls on Single Repository Sync and Upgrade
The buttons to sync and update individual repositories only work for
remote repositories. This PR just updates their poll functions to
disable them for local repos.

Pull Request: https://projects.blender.org/blender/blender/pulls/119568
2024-03-16 20:00:49 +01:00
Harley Acheson
66a40c0e04 UI: Use Internet Icon for Repo Add menu
In Preferences / Extensions / Repositories / Add, show the correct
"Internet" icon on the menu item for remote repository.

Pull Request: https://projects.blender.org/blender/blender/pulls/119541
2024-03-15 21:44:33 +01:00
Aras Pranckevicius
ce5f864027 Merge branch 'blender-v4.1-release' 2024-03-15 16:55:41 +02:00
Aras Pranckevicius
52a8bea237 Fix #119505: artifacts in VSE vectorscope
On some GPUs/drivers (seemingly nvidia) and screen sizes, VSE
vectorscope and sometimes waveform have "garbage" artifacts around
them.

Root cause unknown (driver bug?), for now similar fix as a while ago
in #112665: explicitly draw opaque background (with alpha=1), and then
use alpha blending for the scopes texture display on top of that.

Pull Request: https://projects.blender.org/blender/blender/pulls/119512
2024-03-15 15:53:25 +01:00
Hans Goudey
130701763b Fix #119508: Missing update after "Shade Flat" operator
An alternative fix would be calling `update_on_change_` in the
attribute `try_create`function, but sticking with this more
conservative fix seems better for 4.1.

Pull Request: https://projects.blender.org/blender/blender/pulls/119515
2024-03-15 15:36:56 +01:00
Philipp Oeser
16015ae507 Merge branch 'blender-v4.1-release' 2024-03-15 15:12:22 +01:00
Philipp Oeser
218c02abc4 Fix #119502: Image metadata misses background box
Since 4a78d7dc4c blending is turned ON, but apparently the background
color is not receiving full alpha in this scenario.

Resolve by using immUniformThemeColorAlpha (with 1.0 alpha)

Pull Request: https://projects.blender.org/blender/blender/pulls/119504
2024-03-15 15:11:53 +01:00
Germano Cavalcante
247524bb35 Fix: UV Edge Slide sometimes fails to detect correct direction
In this case, the situation in which edges share faces connected to
each other could fail as it could pass through a slide edge.
2024-03-15 10:37:59 -03:00
Pratik Borhade
47940cdb5b GPv3: Insert duplicate keyframe when erasing
When drawing is visible in 3d-view and playhead is not over keyframe, in
such case erase tool is erases everything (or let's say it adds empty
keyframe). Erasing works correctly if additive drawing is enabled but
this is also expected to work when additive drawing is disabled.

Pull Request: https://projects.blender.org/blender/blender/pulls/119051
2024-03-15 12:12:21 +01:00
Harley Acheson
3d85765e14 UI: Position of Tooltips for Labels
Move tooltip position to mouse position rather than bottom of the
region for labels that are taller than one line.

Pull Request: https://projects.blender.org/blender/blender/pulls/117879
2024-03-14 21:35:11 +01:00
Harley Acheson
08cd80a284 Fix #118066: File Browser List View Tooltips
In File Browser list view show tooltips for both the icon and the name
portion of the line to consistently show them no matter where you hover

Pull Request: https://projects.blender.org/blender/blender/pulls/118071
2024-03-14 20:20:50 +01:00
Raul Fernandez Hernandez
62b0c461fb Fix #87243: Crash after undo "Mask slice to new object"
Fix for a crash after undo "Mask slice to new object"

When creating a new mesh object in the mask slice operator in
sculpt mode it caused a crash when undo to the initial undo step.
Moreover saving the sculpt undo state seems not necessary in
this function since undo/redo doesn't really work reliably for this
operator from the start, but there is nothing can be done about it
without systemic changes.

Note: this PR replaces #119401
Pull Request: https://projects.blender.org/blender/blender/pulls/119443
2024-03-14 17:10:28 +01:00
Raul Fernandez
2e7395e07b Fix #87243: Crash after undo "Mask slice to new object"
Fix for a crash after undo "Mask slice to new object"

When creating a new mesh object in the mask slice operator in
sculpt mode it caused a crash when undo to the initial undo step.
Moreover saving the sculpt undo state seems not necessary in
this function since undo/redo doesn't really work reliably for this
operator from the start, but there is nothing can be done about it
without systemic changes.

Note: this PR replaces #119401
Pull Request: https://projects.blender.org/blender/blender/pulls/119443
2024-03-14 17:01:49 +01:00
Falk David
6a320524b9 Fix: GPv3: Function use_masks returns wrong value
This fixes an issue where the `use_masks` functions on layers
and groups returned the wrong value.
The issue was that the root group doesn't have this flag set
which then propagates to all the layers and groups.
To fix this we invert the `GP_LAYER_TREE_NODE_USE_MASKS` flag (now called `GP_LAYER_TREE_NODE_HIDE_MASKS`).

The API still uses the `use_masks` function.
2024-03-14 15:25:23 +01:00
Sybren A. Stüvel
af7a68d31f Refactor: reduce indentation in ANIM_nla_mapping_get()
Flip conditions and use early returns to simplify `ANIM_nla_mapping_get()`.

No functional changes.

Pull Request: https://projects.blender.org/blender/blender/pulls/119463
2024-03-14 15:10:01 +01:00
Brecht Van Lommel
f131709122 Merge branch 'blender-v4.1-release' 2024-03-14 14:12:05 +01:00
Falk David
a5229ed125 GPv3: Add layer masks operators and UI
Layer masks were partly already there. This PR completes the implementation and expose them through the UI.

This also adds three operators to:
- add a layer mask
- remove a layer mask
- reorder layer masks

Note: These are not used by the renderer yet. Will be done in a following PR.

Pull Request: https://projects.blender.org/blender/blender/pulls/119433
2024-03-14 14:07:37 +01:00
Hans Goudey
961d8ef6d5 Fix #119426: Enabling dyntopo creates duplicate mask attribute
The CustomData API automatically creates a unique attribute with
a unique name for generic data types. Caused by f2bcd73bd2.

Pull Request: https://projects.blender.org/blender/blender/pulls/119441
2024-03-14 13:22:08 +01:00
Campbell Barton
09666e1498 Fix #119387: Precision transform fails to activate
Regression in [0] caused precision fail to activate in the graph editor
and when pressing shift then control (#119395).

[0]: 060174cf14
2024-03-14 11:20:19 +11:00
Hans Goudey
b5082f6640 Refactor: Simplify BLI_serialize.hh for asset indexer
- Remove the unnecessary `ContainerValue` from the class hierarchy
- Construct `StringValue` with a `std::string` by value to avoid copies
- Remove some indirection by using type names directly instead of aliases
- Use utility methods to lookup/append specific data types for arrays/dicts
- Simplify conversion from unique_ptr to shared_ptr
- Avoid use of `new` and `delete`
- Avoid creating maps of all elements in vector for a single lookup
2024-03-13 14:52:57 -04:00
Hans Goudey
ae12c1bd92 Refactor: Remove unnecessary indirection from classes in asset indexer
The `AssetEntryReader` and `AssetEntryWriter` classes were only used
once and just added indirection hiding the actual logic of reading and writing
asset metadata from the index. It also hid double map lookups and extra
string copies/allocations.
2024-03-13 14:52:57 -04:00
Hans Goudey
24c9f736ff Cleanup: Follow style guide for use of "this" in classes
Also simplify iteration over map keys and slightly simplify string hash.
2024-03-13 14:52:57 -04:00
Germano Cavalcante
f6a581e28a UV: Vert and Edge Slide UI improvements
Changes:
- Add Vert Slide and Edge Slide to 'UV -> Transform' menu.
- Add a separator for Vert Slide and Edge Slide in the context menu.
- Don't display the "Correct UVs" option in the Redo menu of UV Editor.
2024-03-13 12:16:19 -03:00
Germano Cavalcante
31745a53f4 Cleanup: early return & avoid compare strings unnecessarily
`transform_poll_property` can be smarter in the conditions.
2024-03-13 12:16:18 -03:00