Age | Commit message (Collapse) | Author |
|
|
|
Mostly duplicate includes, also use nullptr, and using default
member initializers.
|
|
Add support for adding (inserting) new background images into an
override of a linked Camera ID.
Request from the Blender studio.
This ended up being more involved than expected as it uncovered some
latent issues with existing background images code. Noticiably, a new
`BKE_camera_background_image_copy` had to be added to handle copying
of background images in a proper, generic ID-management way.
|
|
The number of attribute domains is not an attribute domain.
This way it doesn't have to be handled in switch statements.
Differential Revision: https://developer.blender.org/D15065
|
|
|
|
file read.
While this should never happen, this is not a critical failure
preventing Blender to work.
|
|
Linked ID is (almost) never editable... Also rename that function to add
the `_poll` suffix.
|
|
Assuming that an ID pointer is NULL because another 'source type'
property has some specific value is utterly wrong and a gateway to
usercounting bugs.
|
|
|
|
These lines were not used now because the handling of copy data has changed.
Assigning the `eval` data can produce unexpected result, especially since everywhere ID_RECALC_TRANSFORM is used, we also do a copy on write. That should take care of `ob->data` for the eval object.
|
|
|
|
Also simplify logic because (source == IMA_SRC_VIEWER) and
ELEM(type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE) are the same
thing.
|
|
|
|
|
|
|
|
Building problem introduced on 24e74f8bef813820. It affects `make lite`
and other builds that skip OpenSubdiv.
|
|
|
|
The problem was because the check was done with the total weights of the first element of the array and if this was null or 0, the weights were not duplicated.
As this bug was introduced fixing T97150 due a problem in the weight data, now instead to duplicate all stroke data to create the perimeter for the PDF/SVG, only the points are duplicated because the weights are not needed. This fix the original bug and also reduce the memory used by the export process.
|
|
This is a follow up to rBbb0fc675822f313c5546a2498a162472c2571ecb.
Now the same kind of run-time data is added to nodes and sockets.
Differential Revision: https://developer.blender.org/D15060
|
|
When launching Blender with a script creating a screenshot, the Outliner
tree wasn't initialized and built properly. That is because at this
stage, all visible regions were only tagged for a non-rebuild redraw,
not a full redraw. So ensure all regions are tagged for a full redraw
immediately after file reading. Usually the full redraw would be caused
by a file-read notifier, but the Python expression/script is executed
before notifiers are handled.
Note that even before this was crashing, the Outliner would be empty in
the created screenshot.
Additionally adds an assert to the Outliner to note assumptions
explicitly, rather than crashing later.
|
|
Minor error in if condition used for early return.
Ref D15050
|
|
|
|
|
|
Contributed by luzpaz
Differential Revision: https://developer.blender.org/D15057
|
|
Subdivision did not properly update when evaluating first without and then with
orco coordinates. Now update the subdivision evaluator settings every time, and
reallocate the vertex data buffer when needed.
there is an additional issue in this file where orco coordinates are not
available immediately on the first frame when they should be, and only appear
on the second frame. However that is an old limitation related to the depsgraph
not getting re-evaluated on viewport display mode changes, here we just fix the
crash.
|
|
Contributed by @luzpaz
Differential Revision: https://developer.blender.org/D15058
|
|
`bNodeTree` has a lot of run-time embedded in it currently. Having a separately
allocated run-time struct has some benefits:
* Run-time data is not stored in files.
* Makes it easy to use c++ types as run-time data.
* More clear distinction between what data only exists at run-time and which doesn't.
This commit doesn't move all run-time data to the new struct yet, only the data where
I know for sure how it is used. The remaining data can be moved separately.
Differential Revision: https://developer.blender.org/D15033
|
|
Issue found in D15033, for some more info see comments there.
|
|
|
|
From reading the code it looks like at some point the code was expecting
the `tptr` PointerRNA to change during the loop? But currently it did
not make any sense to have this complex looping and multi-checking of
RNA path and animdata, since the RNA pointer (and therefore its
`owner_id`) is never modified...
NOTE: there could be much more cleanup done in that area, goal of this
commit is mainly to simplify the logic by removing all the (seamingly)
dead code.
Differential Revision: https://developer.blender.org/D15026
|
|
I'm not sure what is causing this. Vertex normals get corrupted
for paint and mask sculpt brushes but not the normal geometric
ones. Since we don't actually need to recalculate normals
here to begin with I've just disabled it. The code now
calls the appropriate node mark update function based on
the sculpt tool.
|
|
|
|
Previously, when there were multiple curve points at the same or
almost the same position, the computed tangent was unpredictable.
Now, the handling of this case is more explicit, making it more
predictable. In general, when there are duplicate points, it will just use
tangents from neighboring points now.
Also fixes T98209.
Differential Revision: https://developer.blender.org/D15016
|
|
|
|
|
|
|
|
|
|
Since 2d80f814cc249d26b01f, curves always have evaluated points,
but single point curves do no have any evaluated segments, and the
leading zero length isn't stored in the curves length cache.
|
|
|
|
Previously the function had a fair amount of ugly boilerplate to avoid
allocating the temporary layers array, and then free it if necessary.
`blender::Vector` solves that problem more elegantly. Passing a span,
using references in a few cases, and using a switch statement also make
the functions simpler.
This refactoring is in preparation for D14583 and D14685.
Differential Revision: https://developer.blender.org/D15011
|
|
Also early exit in some functions.
|
|
|
|
The logic of skipping selected handles was inverted
and confusing.
|
|
When the 'compare' is not used for the resulting selection, just hide
it. This is the case for 'Vertex Groups' atm (where only membership is
taken into account).
Similar to rB9dc9692b0979.
Differential Revision: https://developer.blender.org/D14979
|
|
This could happen when switching between custom action sets that both
had controller pose actions. Problem was that controller data is
cleared when changing action sets, and this clearing was done when
handling WM events, which always occurs after XR controller data is
updated from GHOST.
Now, instead of activating the action set immediately, delay activation
until just before the next XR actions sync.
|
|
The nil terminator character shouldn't be included, causing an extra
character to be added in some cases.
|
|
Since [0], using the view navigation gizmo crashed with Wayland.
This only worked previously because GHOST_kGrabWrap was ignored.
Now the previous grab state is disabled before switching to a new
grab state.
[0]: da9e14b0b91c81d29c4e44f40ac299ae847367de
|
|
|
|
The original fix for T97366 was too restrictive and breaks real-world
cases of single-file UDIM textures. See D13297 for an example.
This patch effectively reverts the original fix and instead fixes the
downstream code to accept single-file ranges as necessary.
Note: This means it is very important for users to make use of the
"UDIM detection" option during `image.open` or drag n' drop scenarios in
order to declare their intent when loading their files.
Differential Revision: https://developer.blender.org/D14853
|
|
An ASAN build highlighted a longstanding bug during ctrl+c operations
inside various text widgets. The existing code had mismatched memory
lock/unlock calls and was using the wrong allocator.
Fix the code surrounding `SetClipboardData` to be correct per MSDN:
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setclipboarddata
Differential Revision: https://developer.blender.org/D15039
|