Revision 0088b41 by Richard Antalik July 28, 2021, 15:45 (GMT) |
VSE: Fix audio not recalculated Changing strip offsets with RNA properties didn't tag depsgraph to update for new strip start/end points. |
Revision 08154d2 by Richard Antalik July 28, 2021, 15:20 (GMT) |
Cleanup: VSE cache invalidated twice Multiple RNA update function invalidated cache twice. |
July 28, 2021, 13:54 (GMT) |
Fix T90221: geometry viewer node links to other socket types The viewer node in geometry node trees only supports geometry nodes. This patch ensures that when ctrl shift clicking on a node, it will only link to geometry sockets. Differential Revision: https://developer.blender.org/D12055 |
Revision b18d024 by Bastien Montagne July 28, 2021, 13:51 (GMT) |
LayerCollection: Refactor of resync-with-Collection-hierarchy process. The goal of this refactor is to improve resync of LayerCollections hierarchy to match again Collection one. Current code would destroy and re-create valid layers whenever a parent collection would be removed, which leads to losing way too often layer-related settings when editing collection hierarchies. While this could be partially addressed from operators side, there was no way to fix those issues from lower level, more generic ID management code like ID remapping or library override resync processes. The new code builds a shallow wrapper around existing (aka old) layers hierarchy, does a set of checks to define the status of all existing layers, and try to find the closest matching unused layer in cases where layers and collections hierarchies do not match anymore. The intent is to both re-use as much as possible existing layers, and to pick the 'best' possible layer to re-use, following those heuristics: * Prefer layers children of current one first (in old hierarchy), and only use those from other higher-level hierarchies if no (grand-)child is found. * Prefer to use closest layers available in the old hierarchy. NOTE: The new code is about 12%-15% slower than the previous one, which is expected given the increased complexity. Note that this would not be an issue in practice if this code was not called way too often (needs to be converted to lazy update instead, which is a long known TODO). NOTE: The LayerCollectionResync code uses its own built-in version of FIFO queue, as performances in this code is currently a critical point (it can get called tens of thousands of times during a single (heavy) ID management operation currently, in a production file e.g.). Differential Revision: https://developer.blender.org/D12016 |
Revision 3db3707 by Bastien Montagne July 28, 2021, 13:51 (GMT) |
Remove the code in `BKE_collection_move` to preserve LayerCollection flags. This code was actually buggy (forcefully re-enabling excluded layers in some cases). Further more, it should not be needed now that layerCollection resync code reuses as much as possible existing layers instead of deleting and re-creating them all the time. Differential Revision: https://developer.blender.org/D12016 |
July 28, 2021, 13:43 (GMT) |
Fix T89415: update multi input indices after deleting a node When deleting a node, links attached to that node are deleted, but if one of those links was connected to a multi input socket, the indices of the other links connected to it were not updated. This adds updates both in the case of a normal delete as well as after a delete with reconnect. Differential Revision: https://developer.blender.org/D11716 |
Revision f9308a5 by Philipp Oeser July 28, 2021, 13:06 (GMT) |
Fix particle system duplication duplicates all systems Followup to rB3834dc2f7b38 (where getting the proper particle system was fixed for the Adjust Last Operation panel in the Properties Editor). But since this operator can also be called from the 3DView, get a current particle system there as well. Without this, _all_ particle systems would be copied when executing from the 3DView (which was never really intended [operator description uses singular] -- it just happens to use `copy_particle_systems_to_object` internally as well -- same as the `Copy Active/All to Selected Objects` operators)). ref. T83317 Maniphest Tasks: T83317 Differential Revision: https://developer.blender.org/D12033 |
Revision dfc5972 by Philipp Oeser July 28, 2021, 12:59 (GMT) |
Fix T90154, T90213: curve issues since recent cleanup commit Caused by {rB8cbff7093d65}. Since above commit only one modifier would get calculated and the displaylist boundingbox was calculated wrong. Maniphest Tasks: T90154 Differential Revision: https://developer.blender.org/D12037 |
Revision 7d0765c by Julian Eisel July 28, 2021, 12:44 (GMT) |
Fix menu poll function being ignored for UILayout.menu Using `UILayout.menu()` [1] or `UILayout.menu_contents() [2], the menu would just always be added, the `poll()` check not being executed. As API user I would expect the `poll()` to deterimine visiblity of the menu. [1] https://docs.blender.org/api/current/bpy.types.UILayout.html#bpy.types.UILayout.menu [2] https://docs.blender.org/api/current/bpy.types.UILayout.html#bpy.types.UILayout.menu_contents Differential Revision: https://developer.blender.org/D12053 Reviewed by: Campbell Barton |
July 28, 2021, 11:55 (GMT) |
LineArt: Camera Overscan Expand camera effective region to a portion beyond image frame so strokes won't end right at the border. Reviewed By: Antonio Vazquez (antoniov) Differential Revision: https://developer.blender.org/D12049 |
Revision 544ddcd by Bastien Montagne July 28, 2021, 10:33 (GMT) |
Fix (studio-reported) liboverride resync crash after recent changes. Recent own rBabf3ce811f6e prevented any LayerCollection update during the whole liboverride resync process, for both performances and feature reasons. However that means that the various runtime caches like the Base GHash are not cleared anymore during ID remapping process, so we need to call `BKE_main_collection_sync_remap` instead of `BKE_main_collection_sync` when we finally are ready for this update. Reported by @eyecandy (Andy Goralczyk) from Blender studio, thanks! |
Revision 91dd1a1 by Falk David July 28, 2021, 08:16 (GMT) |
VSE: Add tooltips for add_effect_strips operator This patch adds propper tooltips to the effect strips in the "Add" menu. Note that not all effect strips are actually in the "Effect Strips" submenu like color strips, text strips or transitions. For these types of effect strips, a dediacted tooltip is especially useful. Reviewed By: ISS Differential Revision: https://developer.blender.org/D11714 |
Revision ce68888 by Campbell Barton July 28, 2021, 03:38 (GMT) |
Cleanup: reduce indentation in bpy.props Remove unnecessary NULL checks. |
Revision f5cc348 by Pablo Vazquez July 27, 2021, 18:14 (GMT) |
VSE: Draw strips transparent during transform overlap While transforming a strip, draw the background semi-transparent if it overlaps with another strip. It's convenient to see what's underneath, especially with the upcoming Overwrite feature. Thanks to @iss for the help and review. |
Revision 7e91a60 by Sybren A. Stüvel July 27, 2021, 17:49 (GMT) |
Add `StringRef::trim()` functions Add three functions that trim characters from the front & end of a `StringRef`. All functions return a new `StringRef` that references a sub-string of the original `StringRef`. - `trim(chars_to_remove)`: strips all characters from the start and end that occur in `chars_to_remove`. - `trim(char_to_remove)`: same, but with a single character to remove. - `trim()`: remove leading & trailing whitespace, so same as `trim(" rnt")` Reviewed By: JacquesLucke Differential Revision: https://developer.blender.org/D12031 |
Revision ae034d2 by Sybren A. Stüvel July 27, 2021, 17:49 (GMT) |
Deps: ensure osl/bin/oslc is using static libpng Pass `-DLINKSTATIC=ON` to the OSL CMake, to ensure it statically links to our libpng. Previously this was only applied on Windows, it's now on all platforms. |
Revision c6ba735 by Brecht Van Lommel July 27, 2021, 15:45 (GMT) |
Fix LLVM 12 symbol conflict with Mesa drivers, after recent Linux libs update |
Revision f4abd3c by Bastien Montagne July 27, 2021, 15:41 (GMT) |
Fix LibOverride crashing in some cases where reference linked data gets MIA. When the root of an override hierarchy disapears, there is no way to do a proper resync, just abort. Reported by studio, thx. |
Revision 4a02b9f by Himanshi Kalra July 27, 2021, 15:31 (GMT) |
Regression Testing: Running tests based on blend files Runs tests based on blend files with minimum python interaction. Developed as part of GSoC 2021 - Regression Testing of Geometry Nodes. Earlier, tests were built from scratch by adding a modifier/operation from the Python API. Now, tests can also be created inside blender and are compared using Python script. Features: Automatically adding expected object if it doesn't exist. This patch adds tests for the following Geometry Nodes category: * Curves * Geometry * Mesh * Points The implemented UML diagram for refactoring of mesh test framework. {F10225906} Technical Changes: SpecMeshTest: It adds the modifier/operation based on the Spec provided. BlendFileTest: It applies already existing modifier/operation from the blend file. Test folders hierarchy with tests. This folder should be extracted to `libtestsmodeling` {F10240651} Note: The `geometry_nodes` folder might lie under another `geometry_nodes` folder while extracting, please double check. Use the inner-most one. The hierarchy should be: -`libtestsmodelinggeometry_nodesmesh` -`libtestsmodelinggeometry_nodespoints` and so on. * From `ctest` the tests should be run as `ctest -R geo_node -C [Configuration]` on Windows. * Each single test can be run with its entire name e..g `ctest -R geo_node_geometry_join_geometry`.(just an example). Run `ctest -N -R geo_node` to see all tests. * From blender, the tests can be run `blender -b pathtoblendfile --python pathtogeo_node_test.py` Reviewed By: zazizizou, JacquesLucke Differential Revision: https://developer.blender.org/D11611 |
Revision d6d44fa by Campbell Barton July 27, 2021, 15:12 (GMT) |
Fix memory leak with Python RNA property get callback errors Failure to return a list of the expected size & type wasn't decrementing the value, leaking a reference. Caused by 127b5423d6203d521acb2b96b7de5534e8dbe79a a workaround for the real error that was fixed f5e020a7a6ad6451fcaf075ae14f7014b8a4faea. |
|