Blender Git Loki

Blender Git "temp-lineart-contained" branch commits.

Page: 32 / 66

March 13, 2021, 00:59 (GMT)
LibQuery: Add an option to process internal runtime ID pointers.

In some cases (advanced, low-level code) we also want to process ID
pointers like `ID.newid` or `ID.orig_id`.
March 13, 2021, 00:59 (GMT)
Fix T86455: vertex color baking issue with sculpt vertex colors

Baking to Vertex Colors would always bake to sculpt vertex colors (if
such a layer is present) even if those are not enabled in the
experimental preferences. This would bake without an error but leave the
user without a result to look in the viewport.

Now check if sculpt vertex colors are enabled and only bake to them in
that case.

Maniphest Tasks: T86455

Differential Revision: https://developer.blender.org/D10692
March 13, 2021, 00:59 (GMT)
Fix T82532: Sculpt fails to redo the first sculpt session stroke

Sculpt undo relied on having a mode-changing undo step to properly
apply changes.

However this isn't the case with startup files or when mixing
global undo steps with sculpt (see T82851, also fixed).

Undo stepping logic follows image_undosys_step_decode_undo.
March 13, 2021, 00:59 (GMT)
IDRemap: Add option to also remap internal runtime ID pointers.

In some cases (advanced, low-level), we also want to remap pointers like
`ID.newid` or `ID.orig_id`.

Only known case currently is `id_delete`, to avoid leaving potential access to freed memory. See next commit and T86501.
March 13, 2021, 00:59 (GMT)
Cleanup: incorrect doxy section title

Also correct typo.
March 13, 2021, 00:59 (GMT)
Cleanup: break out of loop early
March 13, 2021, 00:59 (GMT)
Fix another crash in LibOverride resync code.

Another case where newly overridden ID (stored in `newid` of its linked
reference) gets immediately deleted in old broken overrides.

Re T86501.
March 13, 2021, 00:59 (GMT)
Cleanup: fix clang-tidy errors when COM_debug is active.
March 13, 2021, 00:59 (GMT)
Cleanup: redundant outliner includes
March 13, 2021, 00:59 (GMT)
Fix heap buffer overflow appending/linking from a blend file

Add new function `blo_bhead_is_id_valid_type()` to correctly check the
blend file block type.

File block type codes have four bytes, and two of those are only in use
when these blocks contain ID datablocks (like `"OB "`). However,
there are other types defined in `BLO_blend_defs.h` that have four
bytes, like `TEST`, `ENDB`, etc.

The function `BKE_idtype_idcode_is_valid(short idcode)` was used to
check for ID datablocks while reading a blend file. This only takes a
2-byte parameter, and thus its result is invalid for the 4-byte codes.
For `TEST` blocks, it would actually consider it a `TE` block, which is
a valid identifier for a Texture. This caused the heap buffer overflow,
as the datablock is not a valid ID, and thus the bytes that were
expected to form an ID name actually encode something completely
different.

Reviewed By: mont29

Differential Revision: https://developer.blender.org/D10703
March 13, 2021, 00:59 (GMT)
CLOG: add support for substring matching.

So that `--log "*undo*"` matches any log identifier containing `undo`.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D10647
March 13, 2021, 00:59 (GMT)
Cleanup: redundant flag check
March 13, 2021, 00:59 (GMT)
Cleanup: make_source_archive.py minor changes & comments

- Add notes on portability.
- Use encoding argument for all file IO.
- Use integer math to calculate major/minor version, while float
division should be fine prefer matching Blender.
March 13, 2021, 00:59 (GMT)
Cleanup: document `FileSelectAssetLibraryUID::type`

No functional changes.
March 13, 2021, 00:59 (GMT)
Cleanup: remove workaround for MSVC PyTypeObject declarations

This is no longer needed for MSVC-2017.
March 13, 2021, 00:59 (GMT)
Fix compiler warning when building Cycles without Embree
March 13, 2021, 00:59 (GMT)
Cleanup: Compiler warnings with COM_TM_NOTHREAD active.
March 13, 2021, 00:59 (GMT)
Fix first part of T86501: Crash during resync process.

Code would end up freeing some of the newly created overrides, which
were assigned to the matching linked ID's `newid` pointer, accessed
again further down the code.

Note that this is not a normal expected situation, and it won't give a
proper resync result anyway, but it might happen in some complicated
corner cases, and also quite often when dealing with older .blend files.
March 12, 2021, 16:07 (GMT)
Fix else after return and NULL pointer value assignment
March 12, 2021, 16:01 (GMT)
Trigger baking progress bar refresh
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021