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
2022-10-07Fix missing header include when using timeit feature.Bastien Montagne
2022-09-07Fix building with MSVCCampbell Barton
Correct error from [0] which built with GCC. [0]: b8d986451805f324b0ba98f4b57b4cf89cee04ed
2022-09-07Cleanup: remove unused Main argument to RNA_path functionsCampbell Barton
Note that lib_override functions have kept the unused argument, but this may be removed too. It impacts many lib_override functions so this can be handled separately.
2022-07-29Cleanup: Move RNA path functions into own C++ fileJulian Eisel
Adds `rna_path.cc` and `RNA_path.h`. `rna_access.c` is a quite big file, which makes it rather hard and inconvenient to navigate. RNA path functions form a nicely coherent unit that can stand well on it's own, so it makes sense to split them off to mitigate the problem. Moreover, I was looking into refactoring the quite convoluted/overloaded `rna_path_parse()`, and found that some C++ features may help greatly with that. So having that code compile in C++ would be helpful to attempt that. Differential Revision: https://developer.blender.org/D15540 Reviewed by: Brecht Van Lommel, Campbell Barton, Bastien Montagne
2022-05-30LibOverride: Add full support for camera's background images.Bastien Montagne
Add support for adding (inserting) new background images into an override of a linked Camera ID. Request from the Blender studio. This ended up being more involved than expected as it uncovered some latent issues with existing background images code. Noticiably, a new `BKE_camera_background_image_copy` had to be added to handle copying of background images in a proper, generic ID-management way.
2022-05-17Cleanup: Use `switch` and `BLI_assert_unreachable()` more.Bastien Montagne
Replace some `if/else if` chains by proper `switch` statement. Replace some `BLI_assert(0)` calls by `BLI_assert_unreachable()` ones.
2022-04-01LibOverride: RNA Apply: let apply function responsible for calling update or ↵Bastien Montagne
not on overridden properties. While this is the desired behavior in almost cases, there are a few hairy nightmares that may require not to do so. NOTE: this change should should not modify any current behavior at all.
2022-03-14Auto-generate RNA-structs declarations in `RNA_prototypes.h`Julian Eisel
So far it was needed to declare a new RNA struct to `RNA_access.h` manually. Since 9b298cf3dbec we generate a `RNA_prototypes.h` for RNA property declarations. Now this also includes the RNA struct declarations, so they don't have to be added manually anymore. Differential Revision: https://developer.blender.org/D13862 Reviewed by: brecht, campbellbarton
2022-03-01Cleanup: use doxygen comments, correct spellingCampbell Barton
Also move eDupli_ID_Flags doc-string to it's declaration.
2022-02-11File headers: SPDX License migrationCampbell Barton
Use a shorter/simpler license convention, stops the header taking so much space. Follow the SPDX license specification: https://spdx.org/licenses - C/C++/objc/objc++ - Python - Shell Scripts - CMake, GNUmakefile While most of the source tree has been included - `./extern/` was left out. - `./intern/cycles` & `./intern/atomic` are also excluded because they use different header conventions. doc/license/SPDX-license-identifiers.txt has been added to list SPDX all used identifiers. See P2788 for the script that automated these edits. Reviewed By: brecht, mont29, sergey Ref D14069
2022-01-07LibOverride: Add tag to libraries that had to be recursively resynced.Bastien Montagne
Request from studio, to help identify quickly libs that need update. NOTE: Currently only outputing INFO log in console, display of this info in the outliner will come in a separate commit.
2022-01-06Fix (unreported) crash in liboverride after yesterday's commit.Bastien Montagne
Own mistake in rBbfb760e16acb.
2022-01-05Fix T94650: LibOverride: Bad handling of (auto)resync in case of single ↵Bastien Montagne
override. Overrides that are not created as part of an override hierarchy should not be handled through (auto)resync at all. users are responsible to hanlde those updates if they need it. This is achieved by flagging overrides created outside of a hierarchical process accordingly, and skipping them during resync process.
2021-12-28LibOverride: Tweak RNA 'need resync' detection code.Bastien Montagne
* Assert about source ID of an overridden pointer property not being a liboverride was not necessary, just skip in that case. * Tag actual 'real' ID owner for resync, and not (potentially) an embedded one.
2021-12-16LibOverride: Cleanup log about unfound subitems.Bastien Montagne
Not finding subitem when its name and index are invalid/unset is expected behavior, and does happen when e.g. inserting a new constraint or modifier at the begining of the stack.
2021-12-08Cleanup: move public doc-strings into headers for 'makesrna'Campbell Barton
Ref T92709
2021-12-07Cleanup: clang-formatCampbell Barton
2021-12-07Cleanup: Fix various source typosluzpaz
This is a continuation of D13462 to clean up source typos. Differential Revision: https://developer.blender.org/D13471
2021-09-27Fix T90570: Constraint validity not updated with library overrides.Bastien Montagne
For some reason was assuming setting a property in RNA would call its update callback if any, but this actually needs to be done separately. So add this call to `rna_property_override_operation_apply`.
2021-09-09Cleanup: remove newlines from logging textCampbell Barton
Line endings are already added.
2021-08-18LibOverride: tweak resync detection code at apply phase.Bastien Montagne
This code checks whether an ID pointer property of an override does not match its linked reference when it is expected to do so. This is a goiod indication that a resync is needed. Previous code would falsy detect overrides of IDs referencing themselves as needing a resync, when this is not effectively the case.
2021-07-15Cleanup: replace BLI_assert(!"text") with BLI_assert_msg(0, "text")Campbell Barton
This shows the text as part of the assertion message.
2021-07-14Fix (unreported) LibOverride diffing generating operations for non-editable ↵Bastien Montagne
properties. Non-pointer-like properties that are not editable should never generate override operations. While harmless (those would never be applied back anyway), better not clutter override operations list, and also enjoy the symbolic performances improvement here. NOTE: Pointer-like properties (pointers and collections) remain processed as usual here since they usually imply recursivity. We could make an exception to the exception for ID pointers, but for now I don't think this is worth it.
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-28Cleanup: repeated terms in code comments & error messagesCampbell Barton
2021-03-25Fix T86853: Critical bug in write code of CacheFile ID.Bastien Montagne
CacheFile writing code would not write generic ID data (call for it has been missing since the initial commit, rB61050f75b13e). While potentially affecting other areas (mostly CustomProperties/IDProperties), this was a critical failure for liboverrides. Also added some workaround code to allow opening broken files (though the override of the CacheFile data-block will be lost).
2021-03-23LibOverride: Also consider RNA Collection in 'need resync' detection.Bastien Montagne
RNA collections can store lists of ID pointers, so they require a similar handling for RNA pointers.
2021-03-16LibOverride: tweak log messages, fix crash in log code.Bastien Montagne
One of the log call could use freed memory.
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-11LibOverride: First stage of detection of 'need resync'.Bastien Montagne
We can fairly easily detect some resync-needed cases when applying the overrides operations on a Pointer RNA property. This should cover all cases where an existing override's ID pointer is changed in its linked data. We still have to add code to detect when a not-yet-overridden linked ID needs to become overridden (because its relations to other data-blocks changed in a way that requires it). Part of T83811 & D10649.
2021-03-08Cleanup: Move LibOverride debug prints to CLOG.Bastien Montagne
2021-02-06UI: Fix Typos in Comments and Docsluzpaz
Approximately 91 spelling corrections, almost all in comments. Differential Revision: https://developer.blender.org/D10288 Reviewed by Harley Acheson
2021-01-22LibOverride: Add an 'post apply' callback to IDTypeInfo.Bastien Montagne
Currently this is needed to properly tag PointCache's for info update (fixes an issue reported in T82503). Suspect we may need this in more cases in the future though, RNA assign/update processes are not always 100% enough to deal with complicated corner cases.
2020-12-31Fix mistake in recent rB8c135fa9a834 commit.Bastien Montagne
2020-12-31LibOverride/RNA: refactor `rna_property_override_property_real_id_owner`.Bastien Montagne
Makes it more in line with more generic `RNA_find_real_ID_and_path`, and avoids generating the rna path string if we do not need it.
2020-12-08LibOverride: Add initial support for adding new NLA tracks.Bastien Montagne
Also makes NLA tracks and strips overridable. User can either edit existing strips in existing NLA tracks (but not add or remove them), and/or add new NLA tracks after those comming from the linked data. Most of the work was as usual checking operators and adding protections against illegal operations in override context. Note that since we can only rely on indices to deal with local added tracks, we forbid any local track being before any linked/original track. Maniphest Tasks: T72629 Differential Revision: https://developer.blender.org/D9611
2020-12-07Fix (unreported) LibOverride: GPencil local Modifiers not fully editable.Bastien Montagne
Missing case in `RNA_property_overridable_get`
2020-11-07Cleanup: Clang-tidy else-after-returnAnkit Meel
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-20Cleanup: Clang-tidy -readability-inconsistent-declaration-parameter-nameAnkit Meel
Changes in source/blender/makesrna only. No functional change.
2020-10-20Cleanup: makesrna, Clang-tidy else-after-return-fixes.Ankit Meel
It got left out of {rBc04088fed1b8faea6b2928bb5e09ab3}. No functional change.
2020-10-13Fix (unreported) LibOverride: possible uninitialized return variable.Bastien Montagne
2020-10-02Cleanup: spellingCampbell Barton
Also correct own correction from 58b8724a4892 thanks @mont29 for raising this.
2020-09-29Cleanup: spellingCampbell Barton
2020-09-25LibOverride: Cleanup: reserve debug messages to debug builds.Bastien Montagne
2020-09-25LibOverride: Tweak messages when some sub-item is not found when applying ↵Bastien Montagne
overrides.
2020-09-25LibOverride: Tweak messages when some sub-item is not found when applying ↵Bastien Montagne
overrides.
2020-09-25LibOverride: Silence some more asserts.Bastien Montagne
Print out messages into console instead when se cannot find expected data (this is actually normal when source library gets edited). Note that there seems to be some issue with the 'auto-cleanup' mechanism removing no more valid override rules on file save, will check on that next. Related to T81059, found while investigating it.
2020-09-24LibOverride: Do not assert when failing to apply an override rule.Bastien Montagne
This is actually fairly common issue if lib data changes, just print out an info message about it for now.
2020-08-17Fix T79633: ovrride apply code broken with RNA-defined runtime IDProps in ↵Bastien Montagne
some cases. When copying between a set RNA runtime property and an unset one, code would not behave properly. We have to also consider NULL 'override apply' callback pointer as a valid 'use default override apply function' case.