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
2020-11-30Fix T82996: Library Overrides: Duplicate of overridden collection on ResyncBastien Montagne
Properly use given reference pointer in `lib_override_library_create_post_process` when it is a Collection one too.
2020-11-26Fix T83046: Material change not updating in the link of an override.Bastien Montagne
Code was actually not applying any override operation over linked data. Reasonn behind that was that if library file is saved with latest override applied then this is not needed, since data saved for the override in the lib file is already up to date. But this is actually fully breaking in case someone update the lib file of the lib file, without re-saving the libfile itself. So now we alwaya apply overrides also on linked data. Note that this will not fix the case where a resync is needed.
2020-11-13LibOverride: Do not tag overrides for complete recalc.Bastien Montagne
This was done as some sort of safety, but should not actually be needed, and including tags like `ID_RECALC_POINT_CACHE` e.g. makes usage of point caches impossible with liboverrides (since it would systematically invalidate all cache on file load). In theory we should not have to tag anything here in fact, RNA accessors are supposed to take care of it, but for now we keep the `ID_RECALC_COPY_ON_WRITE` one. Part of first step of T82503: support disk cache in liboverrides.
2020-11-12Cleanup: spellingCampbell Barton
2020-11-10LibOverride: Optimize deletion of overrides in liboverride delete.Bastien Montagne
2020-11-10Cleanup/Update comments in liboverride code.Bastien Montagne
2020-11-10Cleanup/Update comments in liboverride code.Bastien Montagne
2020-11-02Another attempt at fixing T81963: Random rare crashes in override code.Bastien Montagne
Adding another pass of ensuring valid up-to-date pose data in RNA function itself...
2020-10-27Cleanup: improve comment about shape keys, correct spellingCampbell Barton
2020-10-26Merge branch 'blender-v2.91-release' into masterBastien Montagne
Conflicts: source/blender/blenkernel/intern/armature.c
2020-10-26Proper, cleaner fix for T81963: Random rare crashes in override code.Bastien Montagne
Use new `BKE_pose_ensure` utils, and do so for reference linked object too everywhere.
2020-10-26Merge branch 'blender-v2.91-release' into masterBastien Montagne
2020-10-26Fix T81963: Random rare crashes in override code.Bastien Montagne
Finaly managed to reproduce, we not only have to ensure pose data is up to date for the override armature, but also for the reference linked data.
2020-10-22Potential fix for T81963: Random crashes in liboverride code.Bastien Montagne
From the backtrace it looks like in some cases file save (which triggers a general override updates) is done before other code has a chance to re-generate pose data, leading to rna accessing freed memory. I was never able to reproduce that here, so this is a tentative fix in master, if it proves to be working for the studio it will be cherry-picked into 2.91 release branch later.
2020-10-13Fix (unreported) liboverride of an object hiding its dependencies.Bastien Montagne
When we override a whole collection, we want to add non-instantiated objects to a hidden sub-collection at the end of the process. However, this makes no sense when instantiating an object, if other dependencies objects get also overridden on the process, we should just add them to the same collection owning the root object.
2020-10-07Refactor `BKE_id_copy` to return the new ID pointer.Bastien Montagne
No reasons to keep the new ID pointer as parameter here. Part of T71219.
2020-09-29Quiet unused variable warningJacques Lucke
2020-09-24Fix part of asserts in LibOverride when resynching.Bastien Montagne
We can only re-apply overrides fron the old local overrides to the newly generated ones after all IDs have been properly remapped and renamed. Otherwise override operations based on ID names may fail. Related to T81059, found while investigating it.
2020-09-24Fix LibOverride Resync generating orphaned data-blocks.Bastien Montagne
Part of the code handling deletion of old, not needed anymore local override IDs, was not working properly, effectively only deleting one ID ever. New code should also be a bit faster, though this should not be really visible from user perspective. Related to T81059, found while investigating it.
2020-09-24Fix crash related to liboverride differential operations code.Bastien Montagne
Root of the issue is how we generate the storage ID for the differential override operations. However, since those are disabled anyway currently, simply comment out creation of this copy for now, we can revisit this if/when we decide to re-activate differential overrides. Related to T81059, found while investigating it.
2020-09-24Cleanup: spellingCampbell Barton
2020-09-23LibOverride: Add operator to convert a proxy object into an override.Bastien Montagne
In the end the process is surpringly simple, we only need to manually convert the proxy itself into an override (which is trivial), and then run common code with the default 'make override' operation. Fix T81059: Add operator to convert proxies to library overrides.
2020-09-23Fix (unreported) LibOverride: RNA asserts when applying overrides.Bastien Montagne
Some RNA setters require ID data they operate on to be in G_MAIN. Unfortunately, when we apply overrides as part of a .blend file reading, new Main is not yet made global one, so we have to do it temporarily here. This is a fairly ugly hack, but it should be harmless and safe.
2020-09-23LibOverride: Tweak override creation code.Bastien Montagne
This is a first step towards supporting conversion of proxies, done separately to make it easy to pinpoint in case it would create problems. It is not expected to cause any change in behavior currently.
2020-09-08Cleanup: consistent syntax for doxygen parametersCampbell Barton
Also use back-slash instead of '@'.
2020-08-29Cleanup: spellingCampbell Barton
2020-08-28Merge branch 'blender-v2.90-release' into masterBastien Montagne
2020-08-28Fix T80078: Overrides: Crash with animated IK control on linked armature.Bastien Montagne
Issue was with our dear posebones again... when applying overrides we keep the same address/pointer for the IDs themselves, (which avoids us the need to remap their usages), but their inner data is often re-allocated. Therefore, we need once again to go over armature objects and invalidate their posebone pointers. This should also be back-ported to Blender LTS 2.83. Maniphest Tasks: T80078 Differential Revision: https://developer.blender.org/D8734
2020-08-20LibOverride: Add 'delete and use linked data' operation.Bastien Montagne
This will re-link all usages of a library override data-block (including all of its override dependencies) to its reference linked IDs, and delete those liboverrides. As usual, it is available in the ID sub-menu of the outliner context right-click menu. Part of T76555.
2020-08-20Cleanup: clang-formatCampbell Barton
2020-08-19LibOverride: Add initial version of 'resync' operation.Bastien Montagne
Available from the usual ID submenu in the Outliner context menu. The goal of this operator is to re-create the override from the linked data, while preserving existing defined overrides. This allows to update local opverrides when relations between datablocks are changed in source library linked data. Part of T76555.
2020-08-13Merge branch 'blender-v2.90-release' into masterBastien Montagne
2020-08-13Fix T79591: Liboverride: do not update overrides on missing linked data.Bastien Montagne
It makes no sense to generate/update overrides from missing (broken linked) reference data, just keep existing ones unchanged then.
2020-08-07Cleanup: Blenkernel, Clang-Tidy else-after-return fixesSybren A. Stüvel
This addresses warnings from Clang-Tidy's `readability-else-after-return` rule in the `source/blender/blenkernel` module. No functional changes.
2020-08-05Cleanup: missing 'initialize' -> 'init' from previous cleanupCampbell Barton
2020-07-27Cleanup: comments.Bastien Montagne
2020-07-27Cleanup: Minor renaming.Bastien Montagne
2020-07-23Cleanup: Clang format.Bastien Montagne
2020-07-23Fix (unreported) bad handling of pointers in overrides with shapekeys.Bastien Montagne
2020-07-23LibOverride: Add core functions to reset a library override.Bastien Montagne
This means that we delete all override properties except for those over ID pointers *if* the assigned pointer matches the linked data hierarchy. Then we reload affected datablocks.
2020-07-23LibOverride: Fix missing ID update tag in `BKE_lib_override_library_update`.Bastien Montagne
2020-07-23LibOverride: change runtime data into a real struct.Bastien Montagne
Needed for upcoming changes.
2020-07-23LibOverride: Optimize/fix new generic 'relation-based' make override code.Bastien Montagne
This commit mostly avoids following 'loop back' ID pointers, since those should never define an actual relationship.
2020-07-21Cleanup: Comments.Bastien Montagne
2020-07-21Fix (unreported) LibOverride creation adding things to linked collections.Bastien Montagne
This is strictly forbidden, and sill cause crashes with undo in some cases...
2020-07-20Fix (unreported) bad handling of shapekeys when applying override rules.Bastien Montagne
We need to do a full proper swap of those shape keys as well, previous code ended up breaking relationships between data-blocks...
2020-07-20Fix T78958: Library Override crash: undo make local.Bastien Montagne
2020-07-16Cleanup: spellingCampbell Barton
2020-07-15LibOverride: move most of 'complete override creation' from ED_object to ↵Bastien Montagne
BKE_lib_override. This code is fairly complex and can be used in more places, better not duplicate that logic and just have it in BKE area.
2020-07-14Cleanup: function name not following its module conventions.Bastien Montagne