Revision a2e0f71 by Hans Goudey August 25, 2021, 02:57 (GMT) |
Cleanup: Remove unecessary variables Instead of passing separate booleans for whether to store the locations and distances, check if the spans are empty. And instead of passing a separate boolean for whether there is valid tree data, pass a pointer to the data. |
Revision 5ef3afd by Hans Goudey August 24, 2021, 18:38 (GMT) |
Fix T90900: Crash when rendering geometry nodes created curve The comment for data_eval mentions that it should contain a mesh for curve objects, however with geometry nodes, objects can evaluate to curves as well (though they are only containers for the `CurveEval`. That is a larger issue, but with the upcoming geometry instancing patch the situation changes, so this commit does not correct that. I also hope to remove this code in favor of the new curve to mesh code soon. Instead, just check the evaluated data type in this case, which prevents the crash, though it is hacky. |
Revision f53cf51 by Hans Goudey August 24, 2021, 18:27 (GMT) |
Cleanup: Make function static, remove unused arguments |
Revision 19da434 by Lukas Toenne August 24, 2021, 17:00 (GMT) |
Nodes: Improvements to edge panning in the node editor. - New operator property to toggle edge panning in the keymap: This is disabled by default to avoid edge-panning in cases where it gets distracting, such as adding a new node. Only the explicit translate operator(s) (GKEY or drag) have this enabled now. - Restore the initial view rect on edge pan cancel: The initial view rect is now stored in the edge pan operator data. When an operator with edge panning is cancelled it can now call the `UI_view2d_edge_pan_cancel` function to restore the original View2D rect. - Less delay in node editor scrolling: Delay is useful when scrolling through long lists, such as in the outliner, but makes node scrolling feel sluggish and unresponsive. The lower scroll speed here makes a faster response the better option. - Zoom influence feature: Somewhat slower scrolling in UI-space when zoomed out. With the 0.5 zoom influence factor nodes behave as if zoom factor is halved, otherwise it gets too fast when zoomed out. Previously scrolling would always be constant-speed in UI space, now it's half-way between UI space and node (view) space. |
Revision 38bdde8 by Robert Guetzkow August 24, 2021, 16:41 (GMT) |
Fix T90715: Remove correct particle modifier through Python API Before this patch attempting to remove a particle modifier programmatically through Python would fail, because it deleted the modifier associated with the currently active particle system instead of the one passed as an argument to `bpy.types.ObjectModifiers.remove()`. This fix adds an additional argument for the particle system to `object_remove_particle_system`. This allows to specify which particle system and its associated modifier shall be removed. In case of `particle_system_remove_exec` it will remain the currently active particle system, whereas `object_remove_particle_system` passes the particle system of the modifier. Hence, the correct modifier will be removed. Reviewed By: mont29 Differential Revision: https://developer.blender.org/D12234 |
Revision 551521c by Bastien Montagne August 24, 2021, 15:19 (GMT) |
Cleanup: ID management: Remove useless internal for `BKE_lib_id_clear_library_data`. This static internal `_ex` function was not doing anything extra, just move back whole code to public API `BKE_lib_id_clear_library_data`. |
Revision b55c02a by Bastien Montagne August 24, 2021, 15:08 (GMT) |
Cleanup: Remove useless Camera `make_local` callback. Not sure why this one was still there, probably just escaped a previous cleanup somehow. |
Revision 9327c00 by Hans Goudey August 24, 2021, 15:01 (GMT) |
Cleanup: Simplify logic |
Revision 038f9b7 by Sergey Sharybin August 24, 2021, 14:20 (GMT) |
Render: Lazily allocate render passes pixels storage The idea is to only allocate pixel storage only when there is an actual data to be written to them. This moves the code forward a better support of high-res rendering when pixel storage is not allocated until render engine is ready to provide pixel data. Is expected to be no functional changes for neither users no external engines. The only difference is that the motion and depth passes will be displayed as transparent for until render engine provides any tile result (at which point the pixels will be allocated and initialized to infinite depth). Differential Revision: https://developer.blender.org/D12195 |
Revision 7aff40f by Sebastian Parborg August 24, 2021, 13:15 (GMT) |
FFMPEG: Fix building with older versions that need FFMPEG_USE_DURATION_WORKAROUND |
Revision 3c82725 by Pablo Dobarro August 24, 2021, 10:56 (GMT) |
Disable Fade Inactive Geometry overlay by default This overlay was intended to identify the active objects in modes like Sculpt Mode, where you don't have any extra visual indication of what is the current and target object when switching directly between them. After having flash on mode transfer on the transfer mode operator, the visual information this overlays provides is redundant. It is still available in case some users want to use it like a way of focusing on the active object. Reviewed By: JulienKaspar, JacquesLucke Differential Revision: https://developer.blender.org/D12303 |
Revision 46913bf by Bastien Montagne August 24, 2021, 10:23 (GMT) |
Fix T90840: Can't duplicate or copy (Ctrl-C) object from linked file. We need to separate the flag telling duplicate code to not handle remapping to new IDs etc., from the one telling the code that we are currently duplicating a 'root' ID (i.e. not a dependency of another duplicated ID). This whole duplicate code/logic is still fairly unsatisfying, think it will need further refactor, or maybe even re-design, at some point... |
Revision 4e4ac5a by Campbell Barton August 24, 2021, 08:17 (GMT) |
Fix invalid mask use for the UV-project modifier Mistake in a30a8179331d689c9e599fb9a530c0b6b155f689. |
Revision 30d3dd4 by Himanshi Kalra August 24, 2021, 07:57 (GMT) |
Added more Geometry Node tests * Attributes * Utilities * Volume Test folder located in `libtestsmodelinggeometry_nodes` It contains around 34 new tests. * attribute clamp + other attribute nodes * Curve Primitive nodes * Mesh Primitive nodes * delete geometry * convex hull * subdivision surface * boolean intersect * boolean diff * volume to mesh Reviewed By: zazizizou, JacquesLucke Differential Revision: https://developer.blender.org/D12250 |
Revision 983280b by Campbell Barton August 24, 2021, 04:53 (GMT) |
PyAPI: remove active area test for script.python_file_run operator There is no reason running a Python file should require an active area. |
Revision de60205 by Campbell Barton August 24, 2021, 04:52 (GMT) |
Fix buffer size mismatch in SCRIPT_OT_python_file_run Reading paths over 512 bytes would cause a buffer overrun. |
Revision e0a6001 by Campbell Barton August 24, 2021, 04:36 (GMT) |
Fix reporting Python reference leaks with WITH_PYTHON_SAFETY Error in f3e26c847b6ba0924cfd02641345164c54234425 |
Revision 8b55cda by Campbell Barton August 24, 2021, 04:25 (GMT) |
Fix BLI_str_utf8_as_unicode_step reading past intended bounds Add a string length argument to BLI_str_utf8_as_unicode_step to prevent reading past the buffer bounds or the intended range since some callers of this function take a string length to operate on part of the string. Font drawing for example didn't respect the length argument, potentially causing a buffer over-read with multi-byte characters that could read past the end of the string. The following command would read 5 bytes past the end of the input. `BLF_draw(font_id, (char[]){252}, 1);` In practice strings are typically null terminated so this didn't crash reading past buffer bounds. Nevertheless, this wasn't correct and could cause bugs in the future. Clamping by the length now has the same behavior as a null byte. Add test to ensure this is working as intended. |
Revision 8371df8 by Campbell Barton August 24, 2021, 02:49 (GMT) |
Cleanup: spelling |
Revision a311ab6 by Campbell Barton August 24, 2021, 02:43 (GMT) |
Cleanup: quiet clang-format warnings, unused argument |
|