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
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
2018-11-30Merge branch 'master' into blender2.8Campbell Barton
2018-11-30Cleanup: name macros w/ matching BEGIN/ENDCampbell Barton
2018-11-23Fix T57616: Deleting particle system instance object leads to crashSergey Sharybin
Explicitly tag copy-on-write form library remap. Previously, this tag was used implicitly via geometry/transform tagging, which worked ok for objects. For non-objects we do need to ensure all copies has correct pointer and the only way to do so is to pass tag explicitly. There is probably more places in the library remap where this is needed, but not being familiar with the code makes it difficult to spot where possible tags are missing.
2018-11-10Fix (unreported) crash when deleting collection in freshly duplicated scene.Bastien Montagne
From startup .blend, add a 'full copy' new scene, and delete its Collection 1.001 collection. That would make blender crash, once again due to NULL collection pointer in some ChildrenCollection struct...
2018-10-29Fix T57372: Second full scene copy crashes on deletion.Bastien Montagne
Hope this time we are done for good (root of the issue was that master collections are not in bmain...).
2018-10-29Fix stupid multiple-call of same function in Collections remapping code.Bastien Montagne
Related to T57372: Second full scene copy crashes on deletion (fixes deleting second copy, but now it crashes on deleting the first copy...).
2018-10-21Fix T57320: Crash when adding a linked scene, then deleting it.Bastien Montagne
You want to check collections (for NULL children) first, before you actually go into those children collections checking for NULL objects...
2018-10-21Fix non-sense overloaded code in remapping post-process of objects and ↵Bastien Montagne
collections. In one case, code was calling the same func on bmain for all objects or collections inside that bmain... seriously...