Blender Git Commits

Blender Git "master" branch commits.

Page: 467 / 5574

December 7, 2020, 16:09 (GMT)
Fix DPX image output having invalid float metadata

Casting 0xFFFFFFFF to float does not give NaN as is needed here. Found through
compiler warning which is now fixed.
December 7, 2020, 15:58 (GMT)
Animation: Show Channel Group Colors is now off by default

Change the default for the Show Channel Group Colors preference to OFF.

This option in the user preferences was introduced in rBad85256e7108. It
moved a per-file-per-editor option to the user preferences. As this
option would be frequently turned off by animators, this would now have
to happen only once. This commit takes this one step further, and turns
it off by default, as it can cause major readability issues of the
animation channel list.
December 7, 2020, 15:55 (GMT)
Fix (unreported) LibOverride: GPencil local Modifiers not fully editable.

Missing case in `RNA_property_overridable_get`
December 7, 2020, 15:55 (GMT)
LibOverride: Abstract a bit handling of local items of RNA collections.

RNA collections that support insertion of new items in liboverride
data-block need a special way to distiguish between locale and
orig-from-linked items (since some operations are allowed on the forer,
but no the latter).

In future we want a proper solution to abstract that at the
`BKE_lib_override` level, but for now we need to add some code for each
case.

Note that this commit also fixes a few potential issues with GPencil
modifiers, and constraints, regarding their handling of local overrides.
December 7, 2020, 15:30 (GMT)
Fix T81745: Auto Weights fails with Mirror mod + Vertex Groups X

Fix the Assign Automatic Weights operator in weight paint mode when the
Vertex Groups X option is enabled. This issue was probably introduced in
rB5502517c3c12 where `me->editflag & ME_EDIT_MIRROR_X` was replaced by
either `me->editflag & ME_EDIT_VERTEX_GROUPS_X_SYMMETRY` or
`me->symmetry & ME_SYMMETRY_X`. In this case, the former wasn't working,
so I replaced it with the latter.
Revision 2e221de by Julian Eisel
December 7, 2020, 13:51 (GMT)
UI Code Quality: Start refactoring Outliner tree-element building (using C++)

Continuation of the work started with 249e4df110e0. After all display modes
were ported to this new design, this commit starts the (more complex) work on
the individual tree-element types. More concretely it ports animation
tree-elements (action data-blocks, drivers and NLA data).

The commit above explains motivations. In short, we need a better design that's
easier to reason about and better testable.

Changes done here are pretty straight forward and introduce similar class
hierarchy and building patterns as introduced for the display modes already.
I.e. an abstract base class, `AbstractTreeElement` with derived classes for the
concrete types, and a C-API with a switch to create the needed objects from a
type enum. The latter should be replacable with something nicer later on (RAII
based, and type-safer through meta-programming).
Each tree-element type has its own class, with an own header and source file
(okay some closely related types can share a header and source file, like the
NLA ones).

I added some further temporary bits for the transition to the new design, such
as the `TreeElement.type`. It should entirely replace `TreeElement` eventually,
just as `outliner_add_element()` should be quite small by then and easily
replacable by a `TreeBuilder` helper.
Revision 0c0bc61 by Julian Eisel
December 7, 2020, 13:35 (GMT)
Fix access to invalid data in Outliner tree building

Non-ID tree-elements would cast their data pointer to `ID *` and take the name
and ID-Code from there. The name would actually be overridden a few lines
later, so that didn't cause issues. But the ID-Code stored inside the tree
element kept an undefined value. In practice that probably didn't cause many
issues either, since it's just an undefined value that was very unlikely to
take a valid 16-bit ID-code value, meaning ID-Code checks would simply fail as
they should. Further there typically are other checks to see if the element
actually represents an ID.
However, in theory this may have caused a few random crashes or
data-corruptions.
Revision 95734e3 by Julian Eisel
December 7, 2020, 13:35 (GMT)
Cleanup: Avoid setting (unsafe) Outliner tree element data that won't be used

I carefully checked and am quite sure for `TSE_ANIMATION_DATA` and
`TSE_NLA_ACTION` the direct-data isn't used at all. This data is stored and
accessed in unsafe ways based on conventions anyway (`void *`). We should aim
for a safer design but it will be difficult to get there. Any removed
complexity will help.
Revision 634b10a by Julian Eisel
December 7, 2020, 13:35 (GMT)
Fix missing type check for Outliner eyedropper query

Mistake in 35a5dee2ef73.

Code would simply assume that the element under the cursor is an Object if it
was an ID (but not a collection).

This wouldn't cause any issues in current code, since the only other ID that
set the direct-data were collections, which are special in that they don't have
a `TreeStoreElem.type` of 0, which is already being checked for here. And if
there was no direct-data set, the object lookup in the View-Layer would
correctly fail too.
December 7, 2020, 12:13 (GMT)
Fix failing Cycles tests after Cryptomatte changes

For old files without Cycles cryptomatte settings, must provide the defaults.
December 7, 2020, 11:54 (GMT)
Fix bug in cleanup commit

Fix a copy-paste error in rB11c4066159e
December 7, 2020, 11:41 (GMT)
Cleanup: partial Clang-Tidy modernize-loop-convert

Modernize loops by using the `for(type variable : container)` syntax.

Some loops were trivial to fix, whereas others required more attention
to avoid semantic changes. I couldn't address all old-style loops, so
this commit doesn't enable the `modernize-loop-convert` rule.

Although Clang-Tidy's auto-fixer prefers to use `auto` for the loop
variable declaration, I made as many declarations as possible explicit.
To me this increases local readability, as you don't need to fully
understand the container in order to understand the loop variable type.

No functional changes.
December 7, 2020, 09:57 (GMT)
UI: Fix mistakes in UI messages.
December 7, 2020, 08:31 (GMT)
Fix Cryptomatte panel not visible in EEVEE

Caused by {rB5baae026a86f}
December 7, 2020, 07:07 (GMT)
File Subversion Bump: 2.92.5
December 7, 2020, 07:01 (GMT)
Cycles: Use Blender Cryptomatte Settings.

Blender has now the place to store the Cryptomatte settings. This patch
migrates Cycles to use the new settings.

Reviewed By: Brecht van Lommel

Differential Revision: https://developer.blender.org/D9746
December 7, 2020, 02:44 (GMT)
Fix T83296: Unknown actions no longer perform an undo push

str_len_clip is initialized to 0, so when "Unknown Action"
occurs, set str_len_clip appropriately.
Regression in 0688309988e546382748b9e755d84ae8a5059192

Ref D9759
December 7, 2020, 02:44 (GMT)
Fix T83347: Smart UV project crashes with wire edges

Missing NULL check.
Regression in 9296ba867462f7ff3c55bc0c9129af4121243bed

Ref D9757
December 7, 2020, 02:25 (GMT)
Cleanup: spelling
December 7, 2020, 02:25 (GMT)
Cleanup: correct enum type
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021