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:55 (GMT) |
Fix (unreported) LibOverride: GPencil local Modifiers not fully editable. Missing case in `RNA_property_overridable_get` |
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 c56082d by Jacques Lucke December 7, 2020, 14:34 (GMT) |
support geometry nodes modifier in edit mode and cleanup |
December 7, 2020, 14:09 (GMT) |
Blender v2.83.10 release Version bump |
December 7, 2020, 14:01 (GMT) |
Merge branch 'master' into geometry-nodes-point-separate-node |
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. |
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, 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. |
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 8287513 by Jacques Lucke December 7, 2020, 12:16 (GMT) |
don't make temporary mesh object, if the owner is a mesh itself This way, doing pointer comparison to check if the mesh object is active works. |
December 7, 2020, 12:13 (GMT) |
Fix failing Cycles tests after Cryptomatte changes For old files without Cycles cryptomatte settings, must provide the defaults. |
Revision 82b8447 by Jacques Lucke December 7, 2020, 12:13 (GMT) |
correct recursive dupli instancing |
December 7, 2020, 11:54 (GMT) |
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. |
Revision 225b969 by Jacques Lucke December 7, 2020, 11:13 (GMT) |
initial working version, does not work with edit mode yet |
Revision 15b3976 by Jacques Lucke December 7, 2020, 10:21 (GMT) |
Merge branch 'master' into temp-geometry-nodes-mesh-modifier |
December 7, 2020, 09:57 (GMT) |
UI: Fix mistakes in UI messages. |
December 7, 2020, 08:31 (GMT) |
December 7, 2020, 08:14 (GMT) |
Merge branch 'master' into cycles_procedural_api |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021