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-02-10Cleanup/refactor: Rename `BKE_library` files to `BKE_lib`.Bastien Montagne
Note that `BKE_library.h`/`library.c` were renamed to `BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here. Part of T72604.
2020-02-05T73589: Code Quality: Renaming on BKE_material.hAntonio Vazquez
Old Name New Name ========= ========= init_def_material BKE_materials_init BKE_material_gpencil_default_free BKE_materials_exit test_object_materials BKE_object_materials_test test_all_objects_materials BKE_objects_materials_test_all give_matarar BKE_object_material_array give_totcolp BKE_object_material_num give_current_material_p BKE_object_material_get_p give_current_material BKE_object_material_get assign_material BKE_object_material_assign assign_matarar BKE_object_material_array_assign give_matarar_id BKE_id_material_array give_totcolp_id BKE_id_material_num assign_material_id BKE_id_material_assign clear_matcopybuf BKE_material_copybuf_clear free_matcopybuf BKE_material_copybuf_free copy_matcopybuf BKE_material_copybuf_copy paste_matcopybuf BKE_material_copybuf_paste BKE_material_init_gpencil_settings BKE_gpencil_material_attr_init BKE_material_add_gpencil BKE_gpencil_material_add BKE_material_gpencil_get BKE_gpencil_material BKE_material_gpencil_default_get BKE_gpencil_material_default BKE_material_gpencil_settings_get BKE_gpencil_material_settings
2019-11-24Cleanup: doxygen commentsCampbell Barton
Also correct some outdated symbol references, add missing 'name' commands.
2019-11-07Fix T70875: Library Override: Clicking an Library Overriden Object crashes ↵Bastien Montagne
Blender. We also need to rebuild the whole collection/viewlayer object cache thing when we relink an objector collection in a collection (since it might be part of a view layer). Again, usual disclaimer about how inneficient this is currently, needs a serious refactor to only tag caches as dirty, and actually rebuild the whole thing on access.
2019-09-19Fix T66154: viewlayer hide/exclude settings getting lost for linked collectionsBrecht Van Lommel
The problem was that the object and collection pointers in Base and LayerCollection would get lost of file read. Normally such ID pointers would be resolved by pointing to an ID_ID placeholder which has the datablock name, and then replacing it will the real datablock. However ID_ID is only written for directly linked datablocks. This adds the concept of an indirectly linked datablock with a weak reference to it. For this we write an ID_ID_WEAK_REF code, which is a reference that will only be resolved if the datablock was read for another reason. Differential Revision: https://developer.blender.org/D4416
2019-09-17Fix T69809, T69810: sculpt gone or crashing after renderBrecht Van Lommel
Make a distinction between flush sculpt changes for rendering, and forcing sculpt data structures to be rebuilt after mesh changes. Also don't use PBVH for renders.
2019-08-29BKE_libblock_relink_ex: pass all remapping flags instead of a single boolean.Bastien Montagne
There is no reasons to limit access to remapping flags here, we may want to use other options than only the ID_REMAP_SKIP_NEVER_NULL_USAGE one...
2019-08-29LibOverride: Fix use-after-free error when freeing whole Main DB.Bastien Montagne
We do not want to touch to other ID pointers in that case, those might have already been freed...
2019-07-19Revert "Fix assert unlinking text"Bastien Montagne
This reverts commit b0b2546d4a3a308da19d218d919915aac4834e59. Please do not sweept the dirt under the carpet like that! If there is a bug, either report it or fix it, but do not silence it!
2019-07-16Fix assert unlinking textCampbell Barton
Interferes with debugging.
2019-06-15Cleanup: spellingCampbell Barton
2019-06-15Cleanup: Rename: Static Override -> Library Override.Bastien Montagne
Better to make internal code naming match official/UI naming to some extent, this will reduce confusion in the future. This is 'breaking' scripts and files that would use that feature, but since it is not yet officially supported nor exposed in 2.80, as far as that release is concerned, it is effectively a 'no functional changes' commit.
2019-06-12Cleanup: spelling in commentsCampbell Barton
2019-05-23Merge branch 'blender2.7'Bastien Montagne
Conflicts: source/blender/blenkernel/intern/library_remap.c
2019-05-23Fix (unreported) missing remapping of proxy_from pointer.Bastien Montagne
That would break proxy behavior after a library reload. The usual super-annoying loop-back pointers... At least that one is easily detectable and can be fixed in-place. Found while investigating T64764.
2019-05-23Fix (unreported) broken collections after undo/redo, or remapping (leading ↵Bastien Montagne
to crashes). Those are two cases where keeping infamous backward `parents` pointers of collections in sync is kind of impossible to do... So rebuilding those relationships from scratch instead. Fixes e.g. a crash when undoing, then reloading a library, and likely many more weird ones like that. Uncovered while investigating T64764.
2019-05-16Cleanup: rename IDP_FreeProperty_ex to IDP_FreePropertyContent_exJacques Lucke
This was missing from rBdb5120603f.
2019-04-27Cleanup: comments (long lines) in blenkernelCampbell Barton
2019-04-24Nodes: avoid slow and unecessary node group updates on file readBrecht Van Lommel
On file read we need to update group nodes in case the group they refer to has changed its inputs and outputs. This had O(n^2) time complexity and was updating all datablocks even if they did not change.
2019-04-22Cleanup: style, use braces for blenkernelCampbell Barton
2019-04-21Cleanup: comments (mainly long lines)Campbell Barton
Comments after code can cause awkward line breaks.
2019-04-20Cleanup: add missing macros to clang-formatCampbell Barton
2019-04-17ClangFormat: apply to source, most of internCampbell Barton
Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat
2019-03-25Cleanup: Spelling in commentSergey Sharybin
2019-03-18Fix T62706: Orphan Data : I have now to save a file, close and reopen it, ↵Bastien Montagne
only then I can purge previous deleted meshes. libquery code has some specific handling for IDs tagged as 'no_main', among which to never consider them as refcounted/refcounting other IDs. This is fine, but it also means we have to be careful when moving an ID from main to out-of-main status, to do all id remapping we need //before// we tag it as no_main. That was a bit tedious to track down, we'll have to be careful that all the corner cases we have to take care of, do not end up in a giant soup of expections to exceptions, where nobody can find its way anymore...
2019-03-08Cleanup: use plural names for Main listsCampbell Barton
Convention was not to but after discussion on 918941483f7e we agree its best to change the convention. Names now mostly follow RNA. Some exceptions: - Use 'nodetrees' instead of 'nodegroups' since the struct is called NodeTree. - Use 'gpencils' instead of 'grease_pencil' since 'gpencil' is a common abbreviation in the C code. Other exceptions: - Leave 'wm' as it's a list of one. - Leave 'ipo' as is for versioning.
2019-03-06Fix T62613: In duplicated collections objects loses patrenting.Bastien Montagne
We need to remap duplicated IDs' ID pointers to new ones if they exist.
2019-03-03Fix (unreported) missing handling of 'never self' ID pointers in ↵Bastien Montagne
library_query and library_remap codes. Looks like something forgotten at some point, define in callback flags was there, just not used at all. Added most obvious cases now (we are probably still missing some), and proper handling for it in remapping code (when we hit such case, we 'convert' new_id to NULL and go on with it). Related (as in, exposed by) T62076, but not the actual cause of that bug.
2019-03-02Fix T62098: Outliner: Delete hierarchy crash.Bastien Montagne
Stupid mistake in own logic would prevent first deleted ID to be properly unlinked from rest of .blend file before its deletion...
2019-02-27Cleanup: file rename lamp -> lightCampbell Barton
2019-02-27DNA: rename Lamp -> LightCampbell Barton
- BKE_lamp -> BKE_light - Main.lamp -> light
2019-02-18ID management: use FOREACH_MAIN_ID in some places.Bastien Montagne
2019-02-18Fix T61660: Wrong user counter on curves with shared material.Bastien Montagne
Patch by @sergey. Note that this is really a bad thing actually, ideally we should never get that situation (IDs in Main referencing temp IDs outside of it). That can lead to many possible similar cases... Fixing that is not trivial though, so for now we'll have to live with it, until we have migrated *all* of our temp datablocks generation outside of Main's.
2019-02-18doxygen: add newline after \fileCampbell Barton
While \file doesn't need an argument, it can't have another doxy command after it.
2019-02-11Cleanup: commentsCampbell Barton
2019-02-11Cleanup: comment indentation & spellingCampbell Barton
2019-02-06Cleanup: remove redundant doxygen \file argumentCampbell Barton
Move \ingroup onto same line to be more compact and make it clear the file is in the group.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-02-01Cleanup: remove redundant, invalid info from headersCampbell Barton
BF-admins agree to remove header information that isn't useful, to reduce noise. - BEGIN/END license blocks Developers should add non license comments as separate comment blocks. No need for separator text. - Contributors This is often invalid, outdated or misleading especially when splitting files. It's more useful to git-blame to find out who has developed the code. See P901 for script to perform these edits.
2019-02-01Logging: Use CLOG for blenkernelCampbell Barton
Part of D4277 by @sobakasu
2019-01-16Add experimental batch IDs deletion.Bastien Montagne
Main idea is to remove IDs to be deleted from Main, to avoid looping on them to remove other deleted IDs usage (this is the most expensive process in ID deletion, by far). Speed improvements when deleting a large amount of IDs from a Main containing a lot of them is quite significant, some examples for Objects: * Removing 1k from 10k: 32% quicker (2.5s to 1.7s). * Removing 10k from 20k: 60% quicker (59s to 23s). * Removing 20k from 20k: 99.5% quicker (82s to 0.4s)! Note however that this process is more risky/touchy, since we by-pass some safety checks from regular ID removal here. So will only give access to that code from python API for now (in separate commit), so that it gets really tested. Also still need to think about how to hook it up in UI (probably mostly for Outliner), since we often do higher-level operations there...
2019-01-15Cleanup: rename BKE_libblock_delete to BKE_id_delete.Bastien Montagne
2019-01-15Cleanup: rename BKE_libblock_free_us to BKE_id_free_us.Bastien Montagne
2019-01-15Cleanup: Remove deprecated BKE_libblock_free(_ex) functions, document ↵Bastien Montagne
BKE_id_free(_ex) ones.
2019-01-15Cleanup: replace usages of deprecated BKE_libblock_free_ex by BKE_id_free_ex.Bastien Montagne
2019-01-15Cleanup: replace usages of deprecated BKE_libblock_free by BKE_id_free.Bastien Montagne
2019-01-15Cleanup BKE_id_free_ex().Bastien Montagne
Add 'missing' bpy code from BKE_libblock_free_ex(), now both functions do exactly the same thing, only the later is less flexible (fewer 'exotic' behaviors supported, like handling IDs outside of bmain etc.). Next step: nuke usages of BKE_libblock_free functions, makes no sense to have twice the same code around!
2018-12-14Attempt to sanitize node tree deletionSergey Sharybin
Make it explicit when freeing node tree which is owned by other ID or when freeing node tree which is outside of a bmain.
2018-12-14Fix T59220: Deleting object causes blender 2.8 to crashSergey Sharybin
The issue was caused by a special code in node tree freeing function which will free extra fields in the case when tree is not in bmain. This is how old code was dealing with "nested" trees, but is now making behavior different from other datablocks. This is exactly what was confusing copy-on-write logic. Ideally, ntreeFreeTree() need to behave same as all other datablocks, ad freeing of data of nested trees should be up to the owner of the tree (this way it's all explicit and does not depend on check of some special flag.
2018-12-07Depsgraph: Remove duplicated sets of recalc/update flagsSergey Sharybin
There were at least three copies of those: - OB_RECALC* family of flags, which are rudiment of an old dependency graph system. - PSYS_RECALC* which were used by old dependency graph system as a separate set since the graph itself did not handle particle systems. - DEG_TAG_* which was used to tag IDs. Now there is a single set, which defines what can be tagged and queried for an update. It also has some aggregate flags to make queries simpler. Lets once and for all solve the madness of those flags, stick to a single set, which will not overlap with anything or require any extra conversion. Technically, shouldn't be measurable user difference, but some of the agregate flags for few dependency graph components did change. Fixes T58632: Particle don't update rotation settings