Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-03-13Cleanup: add BKE_pbvh_vertex_iter_begin to clang-formatPablo Dobarro
Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10707
2021-03-12Sculpt: Mask Init operatorPablo Dobarro
This operator initializes mask values for the entire mesh. It supports different modes for initializing those values, and more will be added in the future. The initial version supports generating a random mask per vertex, Face Sets or loose parts. These masks are useful for introducing variations in the model using the filters (both shapes and colors). Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D10679
2021-03-12GPencil: Interpolate can use all keyframe types except breakdownAntonio Vazquez
Before only it was only possible interpolate frames of `Keyframe` type. Now all types except `Breakdown` can be used. `Breakdown` cannot be used because it would be impossible interpolate two times because the extremes of the interpolation would change and the clean operator would not work.
2021-03-12GPencil: UI menu cleanupAntonio Vazquez
Remove duplicate words Stroke and Point already in menu header. Reviewed by: @mendio, @filedescriptor
2021-03-12Fix T86332: setting Cycles dicing camera fails after recent changesBrecht Van Lommel
Somehow "from __future__ import annotations" and "lambda" are not working together well here, work around it by not using a lambda function.
2021-03-12Fluid: Enable scale options for fluid particlesSebastián Barschkis
There is no reason to hide the 'Scale' and 'Scale Randomness' options for fluid particles that are rendered as 'Object'. It is possible that hiding these options was just an oversight and not intentional.
2021-03-12Docs: add doc-string for TransDataContainerCampbell Barton
2021-03-12Cleanup: const warningCampbell Barton
2021-03-12LibOverride Auto Resync: Add option to disable it in Experimental userpref.Bastien Montagne
Some older .blend files won't react nicely to auto-resync, they need to get manually fixed with `resync enforce` first.
2021-03-12CLOG: add support for substring matching.Bastien Montagne
So that `--log "*undo*"` matches any log identifier containing `undo`. Reviewed By: campbellbarton Differential Revision: https://developer.blender.org/D10647
2021-03-12Fix heap buffer overflow appending/linking from a blend fileSybren A. Stüvel
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\0\0"`). 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
2021-03-12Fix T82532: Sculpt fails to redo the first sculpt session strokeCampbell Barton
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.
2021-03-12Fix another crash in LibOverride resync code.Bastien Montagne
Another case where newly overridden ID (stored in `newid` of its linked reference) gets immediately deleted in old broken overrides. Re T86501.
2021-03-12Fix compiler warning when building Cycles without EmbreeBrecht Van Lommel
2021-03-12Cleanup: fix clang-tidy errors when COM_debug is active.Jeroen Bakker
2021-03-12Cleanup: Compiler warnings with COM_TM_NOTHREAD active.Jeroen Bakker
2021-03-12Cleanup: document `FileSelectAssetLibraryUID::type`Sybren A. Stüvel
No functional changes.
2021-03-12LibOverride: Add a new operation to Outliner to enforce resync of hierarchies.Bastien Montagne
This is basically done by ignoring override operations from old override affecting ID pointer properties, when the new (destination) one is not NULL. Fix T86501: New object added to overridden collection doesn't show up in linking file on Resync. This is more of a work-around actually, since there is no real way to fix the issue in a fully automated and consistent way, it is caused by older blender files being saved with 'broken' overrides. WARNING: This cannot ensure that some purposedly edited/overridden ID pointer properties won't be lost in the process.
2021-03-12Fix first part of T86501: Crash during resync process.Bastien Montagne
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.
2021-03-12IDRemap: Add option to also remap internal runtime ID pointers.Bastien Montagne
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.
2021-03-12LibQuery: Add an option to process internal runtime ID pointers.Bastien Montagne
In some cases (advanced, low-level code) we also want to process ID pointers like `ID.newid` or `ID.orig_id`.
2021-03-12Fix T86455: vertex color baking issue with sculpt vertex colorsPhilipp Oeser
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
2021-03-12Cleanup: remove workaround for MSVC PyTypeObject declarationsCampbell Barton
This is no longer needed for MSVC-2017.
2021-03-12Cleanup: set the window manager to the updated context on loadCampbell Barton
While this happened to be corrected by code that runs afterwards, leaving this in an invalid state could cause problems in the future.
2021-03-12Cleanup: make_source_archive.py minor changes & commentsCampbell Barton
- 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.
2021-03-12Cleanup: incorrect doxy section titleCampbell Barton
Also correct typo.
2021-03-12Cleanup: break out of loop earlyCampbell Barton
2021-03-12Cleanup: redundant flag checkCampbell Barton
2021-03-12Cleanup: redundant outliner includesCampbell Barton
2021-03-12Alembic procedural: specific result type for cache lookupsKévin Dietrich
This type, CacheLookupResult, holds the data for the current time, or an explanation as to why no data is available (already loaded, or simply nothing available). This is useful to document the behavior of the code but also, in future changes, to respond appropriately for missing data.
2021-03-12Alembic procedural: add support for instancingKévin Dietrich
Inside of the procedural, instances are AlembicObjects which point to the AlembicObject that they instance. In Alembic, an instance is an untyped Object pointing to the original (instanced) one through its source path. During the archive traversal we detect such instances and, only if the instanced object is asked to be rendered, set the instance's AlembicObject to point to the original's AlembicObject. Cycles Object Nodes are created for each AlembicObject, but only for non-instances are Geometries created, which are then shared between Object Nodes. It is supposed, and expected, that all instances share the same shaders, which will be set to be the ones found on the original object. As for caching, the data cache for an AlembicObject is only valid for non-instances and should not be read to or from as it is implicitly shared.
2021-03-12Alembic procedural: move cache building out of object update methodsKévin Dietrich
This will help support instancing as cache building is now decoupled from the logic to update the Nodes' sockets as data (and cache) will need to be shared by different Geometries somehow, and also simplify implementing different data caching methods by centralizing this operation.
2021-03-12Alembic procedural: fix missing attribute updateKévin Dietrich
We need to explicitely tag the Attribute and AttributeSet as modified if we change or add/remove data. This is more of a bandaid until attributes handling is refactored to be able to reuse routines from the Attribute API.
2021-03-12Cleanup: unused variableKévin Dietrich
2021-03-12Alembic procedural: fix potential zero scale matrix generationKévin Dietrich
This can happen during user edits or with files missing the global scale property.
2021-03-12Added missing file to last commit:Fabian Schempp
Nodes: Add Attribute Remove Node D10697
2021-03-12Nodes: Add Attribute Remove NodeFabian Schempp
This patch adds a node, that removes an attribute if possible, otherwise it adds an error message. Differential Revision: https://developer.blender.org/D10697
2021-03-11Nodes: Fix drag link from output to already linked Multi-Input SocketFabian Schempp
This patch fixes a visual bug related to connecting an output socket to a Multi-Input Socket, that already has a link to that same output. In this case, the drag link got a new index and snapped to a new position. This path makes the drag link snap to the same position as the first link between the two sockets. Differential Revision: https://developer.blender.org/D10689
2021-03-11Fix missing UI updates, caused by own earlier commitJulian Eisel
Caused by 46aa70cb486d. RNA would send property update notifiers with the owner ID as `reference` data. Since above's commit we'd only send the notifiers to editors if the reference data address matches the space's address. So editors wouldn't get the notifiers at all. The owner ID for space properties is always the screen AFAIK. So allow notifiers with the screen as reference to be passed to editors as well, think this is reasonable to do either way. For example, steps to reproduce were: * Open Asset Browser * Mark some data-blocks of different types as assets (e.g. object & its material) * Switch between the categories in the Asset Browser. The asset list wouldn't be updated.
2021-03-11Cleanup: remove unnecessary `const` from function declarationSybren A. Stüvel
No functional changes.
2021-03-11GPencil: Remove limitation to use only one Lattice modifierAntonio Vazquez
This limitation was necessary in older versions, but now can be removed.
2021-03-11Fix warning from own previous commitJulian Eisel
2021-03-11UI: Avoid unnecessary redraws of unrelated editors on space changesJulian Eisel
When adding a notifier, `reference` data can be passed. The notifier system uses this to filter out listeners, for example if data of a scene changes, windows showing a different scene won't get the notifiers sent to their listeners. For the `NC_SPACE` notifiers, a number of places also passed the space as `reference`, but that wasn't used at all. The notifier would still be sent to all listeners in all windows (and the listeners didn't use it either). Causing some unnecessary updates (e.g. see ed2c4825d3e2344). With this commit, passing a space will make sure the notifier is only sent to that exact space. Some code seems to already have expected that to be the case. However there were some cases that passed the space as `reference` without reason, which would break with this commit (meaning they wouldn't redraw or update correctly). Corrected these so they don't pass the space anymore.
2021-03-11Fix Asset Browser showing oudated list for changes done while browser is hiddenJulian Eisel
Steps to reproduce were: * Open an Asset Browser * "Mark Asset" on some data-block * Change the Asset Browser into a different editor (not File Browser!) * "Clear Asset" on the data-block again, or mark another asset * Change back to the Asset Browser, it will show an outdated list Now the file-browser reloads local file data after spaces were changed. Note that the current notifier code doesn't limit the space-change notifiers to the affected spaces, so changing any visible space will trigger this. That's an issue to be fixed separately.
2021-03-11GPencil: Fix unreported Fill fails if the stroke was taggedAntonio Vazquez
In some situations the strokes could be tagged before filling, so it's necessary to reset before.
2021-03-11Fix regression in 2cc5af9c553cfc00b7d4616445ad954597a92d94Campbell Barton
The check for undo-depth increment/decrement assumed a newly loaded window manager would have a different pointer. This broke bl_animation_fcurves test indirectly, the change to undo-depth caused the redo panel to attempt to popup in background mode - which isn't supported. Now the pointer is unchanged, the undo-depth is assumed to match the value used when calling the operator. The undo-depth is now properly maintained between file loads, which is an improvement on the original behavior which reset it.
2021-03-11Fix T86199: error when adding custom fluid diffusion presetSiddhartha Jejurkar
Differential Revision: https://developer.blender.org/D10694
2021-03-11Fluid: Updated hidden symbol visibility commentSebastián Barschkis
It turns out that on official arm64 devices (not DevKit) the linker warnings still show up. So just leaving this as is. Ref D9002
2021-03-11Cleanup: spellingCampbell Barton
2021-03-11Fix T86431: Keep memory location of the window manager on file loadCampbell Barton
Keep the pointer location from the initial window-manager between file load operations. This is needed as the Python API may hold references to keymaps for e.g. which are transferred to the newly loaded window manager, without their `PointerRNA.owner_id` fields being updated. Since there is only ever one window manager, keep the memory at the same location so the Python ID pointers stay valid. Reviewed By: mont29 Ref D10690