The issue was that the code tried to use the bones transformation matrix
as a rotation matrix. This works fine as long as the scale is 1.
Now we simply make sure that we only get a pure rotation matrix when
extracting it for the bone's transformation matrix.
The root of the issue was caused by mesh which was a result of to_mesh()
had the same edit_mesh pointer as the input object, causing double-free
error.
This fix makes it so result mesh does not have edit mesh pointer.
Motivation part behind this is to make the result of to_mesh() to be
somewhat independent from the input.
Differential Revision: https://developer.blender.org/D7361
Starting select linked failed when the selected vertex or edge
was it's self delimiting.
Support using these elements for linked select
as long as they're part of an isolated selection.
When the modal operator passes events, free the internal state of
the operator as we can't be sure those events don't cause the mesh data
to be re-allocated or removed.
Longer term it might be best to make this into a tool since
the main purpose of this operator is to run other actions.
The 10g Intel/Win driver doesn't work well with our emulated
intermediate mode. This patch alters the drawing of the drag widget of
the panels to reduce unneeded drawing.
The previous method would draw 16 boxes per widget. This new way would
cache this drawing in a GPU batch and just move the matrix around.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D7345
Existing code for ungrouping did not correctly handle user counters:
- counter for the group was not decremented
- counters for containing nodes were not incremented
The latter resulted in losing some nodes after orphan cleaning or several save/reload cycles.
The bug did not have destructive consequences until recently,
because it was compensated by another bug (fixed in rBe993667a46c2).
Maniphest Tasks: T74665, T74682
Differential Revision: https://developer.blender.org/D7332
Need to communicate available number of threads to the camera
intrinsics implementation, otherwise default value of 1 is used.
Must have been single-threaded for a very long time.
When setting the current playback time in BKE_sound_play_scene we didn't
account for the frame length. So the current frame/time would be wrong
when we asked the audio playback what time it was.
This would lead to playback being offset when using time remapping and
AV sync.
Reviewed By: Richard Antalik and Sybren A. Stüvel
Differential Revision: http://developer.blender.org/D7248
This was already fixed in rB985f33719ce9 once.
But resurfaced after rB7070e4c15e6c [which just reverted a bit too much
;)].
Spotted while looking into T75263.
Differential Revision: https://developer.blender.org/D7308
During recent refactoring of the edit weight overlay we moved a
assignment before it was valid. Making everything one frame off what
resulted in a flashing frame during TAA, not drawing the overlay until a
second action happened, making overlays too bright.
The reason whas that the painting overlay wasn't initialized in the
first sample, but the draw passes and groups were filled. Resulting in
rendering the overlay twice or not at all.
This change moves the assignment to where it is valid.
Limit offsets, so each strip contains at least 1 frame of content.
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D7288
Feature can be enabled or disabled in timeline view menu item "Show F-Curves".
Author a.monti
Reviewed By: ISS
Differential Revision: https://developer.blender.org/D7205
Don't set 'special preview' or Solo mode if scrubbing in scrubbing region.
Author: a.monti
Reviewed By: Severin
Differential Revision: https://developer.blender.org/D7234
Following up to b555b8d.
Building Blender with hidden symbols but using libraries with visible symbols
was giving linker warnings, specifically for USD. So revert that for now, as
it was not needed for the bugfix.
Hide USD symbols (some of which are not in the USD namespace) to avoid potential
conflicts. May potentially help with AMD OpenCL issues in T74262.
Pointer search buttons created with `uiItemPointerR()` (which allows
also passing a collection property to search in) did not work with the
split property layout (i.e. `uiLayout.use_property_split`).
For example vertex group search buttons typically use this.
Note that decorators (`uiLayout.use_property_decorate`) are not
supported yet. Although if they are enabled, the decorator column is
still created to keep the layout alignment visually intact. Also re-uses
the existing hack to allow placing multiple items in the row before the
decorator column.
Needed for some in-progress changes to the modifier stack UI.
Splits up wm_xr.c into multiple files in their own folder:
source/blender/windowmanager/xr. So this matches how the message bus and
gizmo code have their own folder and files.
This allows better structuring and should make the code scale better.
I rather do this early on than to wait until we end up with a single,
huge file.
Also improves a bit how data is prepared and updated for drawing.