Commit Graph

133394 Commits

Author SHA1 Message Date
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
Sergey Sharybin
e2d7bd199e Fix #119427: UI: The Metadata is gone for the rendered image
This is a regression since d579ac2b3f

Ensure that the image buffers used by render passes have metadata at the
end of render, similarly to how stamping happens. This solves the reported
issue, and makes the metadata behave consistently, independent on how the
image buffer is accessed.

Thanks Philipp Oeser for investigation and pin-pointing the bad commit!

Pull Request: https://projects.blender.org/blender/blender/pulls/119503
2024-03-15 15:24:33 +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
Jacques Lucke
9fc8ce49f5 Fix #119464: missing update after socket reorder
Without the update tag, the tree topology cache is not recomputed.

Pull Request: https://projects.blender.org/blender/blender/pulls/119506
2024-03-15 15:00:53 +01:00
Alaska
7ec0ebf30c Cycles: Fix grammar issues in OIDN GPU command line reporting
Pull Request: https://projects.blender.org/blender/blender/pulls/119492
2024-03-15 09:52:47 +01:00
Brecht Van Lommel
335ff6efab Cycles: Disable OpenImageDenoise support for AMD GPUs in Blender 4.1
In older drivers with an integrated GPU, this may crash. This not only
affects HIP, but also can crash when using Cycles with an NVIDIA or
Intel GPU in combination with an AMD CPU.

Fixes for this are expected to be coming, but there will not be enough
time for user testing, and it is difficult to be certain that the fix
is complete.

So to be careful, this is postponed until it has had more testing.

Pull Request: https://projects.blender.org/blender/blender/pulls/119476
2024-03-14 18:18:18 +01:00
Harley Acheson
479342b1cf UI: Correct Splash RGB Image Corner Rounding
Our splash screen rounds the top corners of the featured image. However
this requires an alpha channel, so an RGB image will not look rounded.
This PR just ensures a 32 plane count.

Pull Request: https://projects.blender.org/blender/blender/pulls/119473
2024-03-14 17:22:22 +01:00
Harley Acheson
a1fcdf10f2 UI: Timeline Playback Popup Too Narrow
With default sizes the Timeline "Playback" popover clips the text of
two items in English. This PR just makes it just wide enough plus a
bit of breathing room.

Pull Request: https://projects.blender.org/blender/blender/pulls/119474
2024-03-14 17:10:34 +01:00
Sergey Sharybin
6aa21ed752 Fix: incorrect GPU ownership after IMB_dupImBuf
The IMB_dupImBuf() function does not copy the GPU texture as it might
not be possible if the GPU context is not active, but it also was not
clearing the pointer in the result ImBuf. This could potentially lead
to situation when the texture gets freed via IMB_freeImBuf of either
original or copied image buffer, leaving the other pointing to a freed
GPU texture.

It is not known whether it ever was an actual problem for artists,
but it is nice to avoid such possibility.

Pull Request: https://projects.blender.org/blender/blender/pulls/119469
2024-03-14 17:09:33 +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
Brecht Van Lommel
e9ca817d5f Fix #119419: Crashes with incompatible OpenColorIO configs
* If required roles are not found, refuse to load the config
* Use "default" role as fallback for all roles, following the
  OpenColorIO docs.
* Use bundled config if loading environment config fails,
  instead using very limited fallback config.
* Fix OCIO_exit get called on failed config load, causing
  crash when trying to load the next config.

Pull Request: https://projects.blender.org/blender/blender/pulls/119435
2024-03-14 14:08:56 +01:00
Brecht Van Lommel
a887ec8f38 Cleanup: Move variable definitions closer to use, other style tweaks
Pull Request: https://projects.blender.org/blender/blender/pulls/119435
2024-03-14 14:08:12 +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
Guillermo Venegas
1640121a63 Fix #119183: Use valid style for popup text size calculation
The current font style can be overridden with a input or other widget text style,
this change ensures that the right font style is set so `BLF_width` don't use a
overridden font text style.

Pull Request: https://projects.blender.org/blender/blender/pulls/119442
2024-03-13 23:01:58 +01:00
Iliya Katueshenock
d562a9ce43 Fix #118883: Face Corner component shows in Delete Geometry node
Pull Request: https://projects.blender.org/blender/blender/pulls/118917
2024-03-13 15:38:44 -04:00
Thomas Dinges
3e8ed795cb Release: Re-commit splash with proper settings. 2024-03-13 17:04:25 +01:00
Thomas Dinges
51a3c03072 Release: Bump to 4.1 RC.
Splash screen by Lynxsdesign
2024-03-13 15:52:53 +01:00
Thomas Dinges
f911d4217b Release: Update manual references. 2024-03-13 15:11:22 +01:00
Thomas Dinges
34d6681ccc Release: Update freedesktop file for 4.1. 2024-03-13 14:43:54 +01:00
Jacques Lucke
61aaf95709 Fix #119406: Node tools don't work in edit mode with unselected object
It's possible for an object to be in edit mode without being selected. Use the
`FOREACH_OBJECT_IN_MODE_BEGIN` iterator to find all objects in the mode instead.

Pull Request: https://projects.blender.org/blender/blender/pulls/119412
2024-03-13 13:49:35 +01:00
Jacques Lucke
297157e1c7 Fix #119241: setting edge selection does not work correctly
This was likely a typo in bd4c310a19.

Pull Request: https://projects.blender.org/blender/blender/pulls/119413
2024-03-13 13:25:23 +01:00
Jacques Lucke
48aec82426 Fix: memory leak when using node tool in mesh edit mode
Caused by b40a9ce60b.

For the non-edit mode code path, the mesh is freed as part of
`BKE_mesh_nomain_to_mesh`.
2024-03-13 10:44:39 +01:00
Jacques Lucke
5c65dba14c Cleanup: make format 2024-03-13 10:39:22 +01:00
Pratik Borhade
0f751c7e7d Fix #119362: Bone collection visibility when moved to root collection
When bone collection is moved to root collection by drag-drop,
visibility of dropped collection is lost. This is due to missing flags
for the root bone collection which cleared `BONE_COLLECTION_ANCESTORS_VISIBLE`
flag of dropped bcol.

Pull Request: https://projects.blender.org/blender/blender/pulls/119366
2024-03-13 09:48:45 +01:00
Jesse Yurkovich
0b19f1f4a0 Fix #119030: Only access Location node input when available
Our `node_shader_utils.py` module needs to be updated to account for API
changes made during the 4.0 release cycle [1].

Here we need to guard against accessing the "Location" node input if not
dealing with the appropriate type of Mapping node.

[1] e4ad58114b

Pull Request: https://projects.blender.org/blender/blender/pulls/119354
2024-03-13 05:22:43 +01:00
Hans Goudey
6b81fbced8 Cleanup: Make format 2024-03-12 17:34:08 -04:00
Hans Goudey
885b116c75 Fix: Socket names in auto smooth versioning node group
The current naming for node groups is "Socket" rather than "Input".
Also remove translation which is unnecessary since these are just identifiers.
2024-03-12 17:33:47 -04:00
Hans Goudey
9141a8cb25 Fix #119398: Weighted normal modifier "Keep Sharp" option missing versioning
The Weighted Normal modifier has a "Keep Sharp" option that used to
recalculate the sharp edge tags based on the mesh's smoothing angle.
To keep the same behavior, an auto smooth versioning modifier has to
be added before that modifier when the option is on.

Pull Request: https://projects.blender.org/blender/blender/pulls/119400
2024-03-12 22:08:19 +01:00
Sean Kim
b7b7d3a937 Fix #119396: Add toggle for texture paint mask icon
This PR adjusts the behavior of the Texture Paint mask icon to behave
similarly to the automasking icon in Sculpt mode. This behavior was
missed in the original task: #102585

Pull Request: https://projects.blender.org/blender/blender/pulls/119399
2024-03-12 21:34:43 +01:00
Hans Goudey
7d2d590f0e Fix #119307: Anchored multires mask brush broken
I ran into this issue a while ago too, where the vertex iteration
macro didn't process all of the vertices. I didn't figure it out yet,
but it makes more sense in the context of the surrounding code
to specialize this anyway.
2024-03-12 13:17:38 -04:00
Christoph Lendenfeld
1e70c29320 Fix: Slider not respecting bounds when snapping to increments
The issue was that the clamping to the bounds happened before the rounding to the increment step.
In the reported case this led to a divide by 0 error.
The fix is to do the increment first, then the clamp to bounds.

This was reported by Raymond Luc on #117287

Pull Request: https://projects.blender.org/blender/blender/pulls/119367
2024-03-12 17:42:14 +01:00
Jacques Lucke
ac8835f18b Fix #119350: shifting text overlay text
The issue was that the object location was taken into account twice using
`object_to_world` and `ob->loc`.

Pull Request: https://projects.blender.org/blender/blender/pulls/119378
2024-03-12 17:32:52 +01:00
Sean Kim
1982cad490 Fix: update comparator for std::sort for NamedAttribute
This PR applies a fix for the comparator being passed into std::sort to
avoid potential Mac / libc++ issues as seen in #119189

Pull Request: https://projects.blender.org/blender/blender/pulls/119385
2024-03-12 17:31:02 +01:00
Hans Goudey
3c3f1e6d62 Fix #117603: Auto smooth replacement versioning skipped for link/append
Unfortunately the only versioning code that can "properly" add data-
blocks is not run when linking or appending (`do_versions_after_setup`
has details). The versioning has to be done manually for this case.
Fortunately that is simple since the versioning function already just
operators on a main database.
2024-03-12 12:09:30 -04:00
Philipp Oeser
2886859347 Fix #116262: Modal knife tool can crash if used on hidden object
This could happen if objects were hidden after going to editmode and
knife was used on them.

In that case, raycasting would (rightfully) fail, but there is a
fallback in place using the back-buffer selection method (in which the
hidden object is still present). So a face would be found, but this
makes all following code confusing/wrong since we are working with
coordinates / faces under the assumption there would be a valid/
corresponding object to it in `KnifeTool_OpData` > `objects` -- which is
not the case...

So to resolve, just check if the object is visible before calling
`EDBM_face_find_nearest` in knife code.

Alternativeliy, we could also add a check for Base viewport visibility
to all the bmesh `find_nearest` functions (a bit hesitant though since i
am not sure this would be desired in all cases)

Pull Request: https://projects.blender.org/blender/blender/pulls/119383
2024-03-12 17:02:35 +01:00
Iliya Katueshenock
9ee45646b4 Fix #119239: Use attribute names after free
Fix of error introduced in c31718649d. Attribute names will
be freed on domain resizing. This mean, ref-names which is attribute
ids is will be invalid. To avoid this, make sure names will be gathered
only after resize. To avoid unnecessary topology map computation before
mesh resize, check if attributes on required domain exists, instead
of gathering them and check if span is not empty.

Pull Request: https://projects.blender.org/blender/blender/pulls/119242
2024-03-12 16:42:16 +01:00
Hans Goudey
39ebd68a46 Fix #119361: Sculpt face set draw broken with multires
`PBVHVertexIter::g` is the grid index within the node, not the the global grid index.
2024-03-12 11:39:39 -04:00
Hans Goudey
91466f71f1 Fix #91256, #112646: IDProperty UI data lost when changing type
With some data-type conversions we can do a best-effort conversion of
UI data like default values and min and max to the new data type.
This can help to make Python scripts simpler and to avoid bugs like
#105965.

Pull Request: https://projects.blender.org/blender/blender/pulls/106161
2024-03-12 15:49:20 +01:00
megakite
825e662229 Fix #119021: Crash when adding GP object
Added a null check for RE_GetRenderLayer() which could possibly return
null and then stored in `render_layer`, in order to prevent members of
`render_layer` being accessed in RE_pass_find_by_name(), and thus solved
the segmentation fault.

Pull Request: https://projects.blender.org/blender/blender/pulls/119200
2024-03-12 14:58:05 +01:00
Iliya Katueshenock
29ff84352f Fix #118905: Geometry Nodes: GP3 component and face corner in separate geometry node
Pull Request: https://projects.blender.org/blender/blender/pulls/118916
2024-03-12 14:41:23 +01:00
Falk David
998514af7b Fix #115313: GPencil brush direction is not kept
The core of the issue was that `sculpt_flag` was used by three different enums (`eGP_Sculpt_Flag`, `eGP_Sculpt_Mode_Flag`, and `eBrushFlags`). This resulted in the flag getting overriden because `ENUM_OPERATORS` expected the maximum value of `eGP_Sculpt_Flag` to be `(1 << 3)` which it wasn't.

The `sculpt_flag` was exposed through python as `"direction"`.
In the UI this meant that it was effectively used as `brush.direction`. This fix replaces `brush.gpencil_settings.direction` with `brush.direction`.
It also makes sure `sculpt_flag` is only ever used with values from `eGP_Sculpt_Flag`.

Pull Request: https://projects.blender.org/blender/blender/pulls/119373
2024-03-12 14:22:52 +01:00
Iliya Katushenock
7c74a042f2 Fix #119364: capturing attributes on output object instances lose object visibility settings
The regression happened because object instances were turned into normal geometry
instances which don't have object-level visibility settings. Long term, this may not be
something we can support, but it's also not something we should break unnecessarily
and accidentally.

Pull Request: https://projects.blender.org/blender/blender/pulls/119370
2024-03-12 14:10:18 +01:00
Jacques Lucke
b40a9ce60b Fix #114438: wrong undo after running node tool in mesh edit mode
I think the issue is that the run-node-group operator overwrites the data stored in the
`Mesh` while mesh edit mode operations typically only change the `BMEditMesh`. It
seems like that causes issues because the mesh edit mode undo stack does not
keep track of changes to the `Mesh`. When hitting undo, Blender assumes that the
`Mesh` stored in the object has not changed and therefore it does not have to be
read from the undo step again.

The preliminary fix implemented here is to just not change the `Mesh` but only the
`BMEditMesh` like any other edit mode operator. This seems to solve the issue.
I haven't quite figured out yet how to tell the undo system that the `Mesh` has to be
loaded from the undo step when undoing out of mesh edit mode. Doing that might
provide a better solution.

Pull Request: https://projects.blender.org/blender/blender/pulls/119015
2024-03-12 13:28:26 +01:00
Pratik Borhade
40156dfba3 Fix #119309: Face Set from Visible crash with multires
Fix is same as 18912561b5 / 72d324bd81

Pull Request: https://projects.blender.org/blender/blender/pulls/119311
2024-03-12 16:37:07 +05:30
Campbell Barton
d4610e70db Fix #115185: Batch Rename Action Clips error
Account for actions themselves being selected in the outliner as well
as ID-types that don't have any animation data.
2024-03-12 21:17:55 +11:00
Campbell Barton
fc13d2c165 Cleanup: format 2024-03-12 20:56:48 +11:00
Bastien Montagne
abfc3f9a43 I18N: Updated UI translations from git/weblate (efe372a7b46cf). 2024-03-12 15:09:03 +09:00
Campbell Barton
353ec1090a Unbreak build with USE_EVENT_BACKGROUND_THREAD disabled 2024-03-12 17:03:09 +11:00
Campbell Barton
1fa2a1a74d Fix error freeing bpy_struct sub-classes WITH_PYTHON_SECURITY enabled
Python's behavior changed since this feature was added causing the
object to be tracked when freed by Python's subtype_dealloc even
if Blender has not tracked the data. Detect this case and untrack
the object before freeing.
2024-03-12 16:37:36 +11:00