working properly
'outliner_extract_children_from_subtree()' (introduced in
rB40a1c671655c) was extracting the children of non-matching parents
regardless of their own matching state.
Now properly filter the subtree prior to extracting.
Maniphest Tasks: T69246
Differential Revision: https://developer.blender.org/D6517
If pre-deselecting takes place, then flushing was not happening
('changed' never became true because no new faces were being selected).
This rectifies the logic. (also removed redundant double initialization
to false)
Maniphest Tasks: T72499
Differential Revision: https://developer.blender.org/D6459
Remove this pointer since it's linking Mesh data back to the object,
where a single edit-mesh may have multiple object users,
causing incorrect assumptions in the code.
Resolves dangling pointer part of the T72667 crash,
although there are other issues which still need to be fixed.
In EDBM_op_finish and EDBM_update_generic,
full Main lookups have been added which should be replaced with mesh
argument or the update tagging moved elsewhere.
Note that this is a bit clumsy having both edit-mesh and mesh,
BKE_editmesh_ensure_autosmooth & BKE_editmesh_lnorspace_update
are often called together, these could be made into a single functions.
The pointer is causing issues since two objects can share an edit-mesh,
removing in stages, see T72848.
Also fixes the material index being clamped by every object.
This was caused by a missing call to BKE_mesh_flush_hidden_from_verts()
when a SCULP_UNDO_HIDDEN undo step is processed.
Reviewed By: jbakker
Maniphest Tasks: T72700
Differential Revision: https://developer.blender.org/D6488
Users reported that Whiskey lake has the same issue as other intel
platforms where an extra glFlush is needed. This change will
add Whiskey Lake to that exception.
Patch provided by Philip Luk
There were two reasons the USD Exporter was listed as experimental:
- Originally there was no deduplication of mesh normals & UV coordinates
(resolved in rBf5e00f735106b5ec635806a4c795a2bc46ae8369), and
- the way materials were exported was incompatible with instancing with
USD 19.07. This seems to be resolved with the current version of USD
(19.11).
Blender (more specifically, `makesdna`) doesn't seem to like empty DNA
structs, so I couldn't remove all properties from
`UserDef_Experimental`. Instead I have just kept `char _pad0[8]`.
Reviewed by: campbellbarton
Differential Revision: https://developer.blender.org/D6519
For some reason socket flag and actual presence of link got out of sync.
Check for link to be present prior to access it.
Fixes crash opening file from T48684.
Was only using first ID instead of all of them.
Might have been causing issues when updating motion paths of
multiple objects.
Spotted by Jack C, thanks!
Nice reversed-logic mistake in rB693721cc7e7d.
How this could remain unnoticed for almost one year is fairly
mysterious, this should have basically broke all node tree copying,
would expect such bug to get reported within days, weeks at most...
Probably because that function is not that much used in current code.
Nice reminder also that those bloody nodetrees still need a lot of
cleanup/refactor/simplification when it comes to ID management code.
Reported/fixed as part of D6484, but this really needs its own commit.
In the Auto Merge & Split feature, multithreading was only used to
find duplicates between vertex and another vertex.
But with this patch, multithreading is now used to find intersections
etween edge and edge and between edge and vertex.
In my tests I noticed a performance improvement of around 180%
(0.017151 secs to 0.009373 secs)
Differential Revision: https://developer.blender.org/D6528
In 2.79 when moving a marker with `G` while holding `ctrl` the marker
would snap to one-second movements. This was (probably accidentally)
removed when the Timeline Editor was removed in rB5374865523faf253.
Reviewers: mano-wii
Differential Revision: https://developer.blender.org/D6527
`BLI_task_parallel_range` counts the number of tasks depending on the
number of items.
In the case of `BLI_bvhtree_overlap` the number of items is always
between 2 and 16, which makes it always run in single thread.
So, set the maximum number of items per thread to 1.
In my tests the cloth collision system (which calls that function)
went from 0.80fps to 0.88fps.
Differential Revision: https://developer.blender.org/D6523
As you can see, here is testing the "children" of `node1`.
So bvhtree is `tree1`.
This problem has never been observed because usually `tree_type`
of `tree1` equals `tree_type` of `tree2`.
Although not using multithreading, the `thread` parameter in the
`BVHTree_OverlapCallback` callback always returned a value between the
"number of threads".
This parameter should always be 0 in such cases.
Also a `BLI_Stack` was created for each "thread" and used.
This small overhead is no longer seen.
Differential Revision: https://developer.blender.org/D6510
T71495 describes two problems with animation of textures not showing up in
the dope sheet:
1. textures connected to force fields
2. textures of brushes
This patch resolves the first case.
An alternative would be to switch to iteration of dependencies using
`BKE_library_foreach_ID_link()`. This is a good idea to do at some point,
but adding these few lines was considerably easier & safer to do.
This defaults to selection when not using a gizmo.
The previous behavior to drag anywhere can be set in the tool settings
or by selecting the fallback tool (Alt-W).
See: T66304