Revision c1cdde0 by Ankit Meel September 29, 2020, 19:46 (GMT) |
Fix T81100: ccl::Node: ASan SEGV due to bad pointer `SOCKET_OFFSETOF` was added in the initial commit {rBec51175f1fd6c91d5} when `offsetof` [1] was not supported well enough. GCC and LLVM support it since C++17. Other two changes: type and size check can be done without creating an invalid address too. [1] https://cppreference.com/w/cpp/types/offsetof Reviewed By: campbellbarton, brecht Maniphest Tasks: T81100 Differential Revision: https://developer.blender.org/D9042 |
Revision 4c3047a by Aaron Carlisle September 29, 2020, 19:07 (GMT) |
API Docs: Use raises field list syntax See https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html#info-field-lists |
Revision ebf7526 by Bastien Montagne September 29, 2020, 15:08 (GMT) |
Fix unreported Eisenbug leading to a crash when reading a blend file. This took more than a day to fully investigate and understand, one of the reasons being that the probability of the issue to show up was extremely low, and subjected to very specific random factors. Root of the issue is that, in some very rare cases, a newly read ID might get the exact same memory address as the one it had when the blend file was saved. In that case, `BKE_workspace_active_set` would return immediately, since the pointer to the active workspace would remain unchanged. But that lead to having an unset NULL active layout pointer, which would crash when attempting to get e.g. the active screen. For the record, I ran into this when running a specific build (master with one flag added to the `LIB_ID_CREATE` ones, with value `1 << 3`), using a specific set of options (`--background --factory-startup -noaudio`), and passing the .blend file from T80090 as argument. |
Revision 84b3f6e by Bastien Montagne September 29, 2020, 15:08 (GMT) |
Fix (unrepported) utterly broken logic in readfile for Workspaces. Remove the attempt to update the active layout pointers of each window from whithin `direct_link_workspace`. This piece of code was a nonsense for at least to critical reasons: * Do not, never, ever, access data from another datablock within the direct_link_... functions. Just don't. Don't try to be smart. * Since it was trying (and failing) to update the active layout of every window for every workspace, it was effectively setting those `act_layout` pointers to NULL (remapping can only ever happen once, trying to remap and already remapped new pointer is bound to fail in any case). Luckily (and funnily), this piece of code was actually harmless, since setting the active layout would be overridden/redone later, in `lib_link_windowmanager`, when updating their `workspace_hook` in `lib_link_workspace_instance_hook`. Note that the similar horror with `WorkSpaceDataRelation->parent` (which points at a window) is kept for now, because that one is needed. Hope to refactor it soon though. |
Revision ece8f69 by Hans Goudey September 29, 2020, 14:33 (GMT) |
Property Search: Set expansion properly for child panels Although I haven't seen this cause any visible errors, there is some incorrect handling for setting panel expansion during search: - Properly check if child panel is active first - Don't stop traversal at headerless panels that could theoretically have children |
Revision bab2260 by Sybren A. Stüvel September 29, 2020, 14:10 (GMT) |
Fix T71981: Alembic vertex interpolation can jumble mesh Add an option to disable Alembic vertex interpolation. Bump subversion from 5 to 6. Alembic stores mesh samples at specific time keys; when a frame in Blender maps to a timecode between two samples, Blender will interpolate the mesh vertex positions. This interpolation only happens when the mesh has a constant topology, but sometimes this was not detected properly when the vertices change order, but the number of mesh elements remains the same. This would result in a mesh with jumbled up vertices (T71981). With this patch, users have the ability to disable vertex interpolation. An alternative would be to have better detection of topology changes, but that that'll cause a considerable slowdown. Maniphest Tasks: T71981 Differential Revision: https://developer.blender.org/D9041 |
Revision 5845c06 by Jacques Lucke September 29, 2020, 14:03 (GMT) |
Volumes: new Mesh to Volume modifier This modifier can only be added to Volume objects. It takes a mesh as input and generates a "density" grid near the surface or in the enclosed volume. Ref T73201. Reviewers: brecht Differential Revision: https://developer.blender.org/D9032 |
Revision e12767a by Jacques Lucke September 29, 2020, 10:39 (GMT) |
Volumes: support selection and outlines in viewport Previously, one could only select a volume object in the outliner or by clicking on the object origin. This patch allows you to click on the actual volume. Furthermore, the generated (invisible) mesh that is used for selection is also used to draw an outline for the volume object now. Reviewers: brecht Differential Revision: https://developer.blender.org/D9022 |
Revision 6374644 by Jacques Lucke September 29, 2020, 10:29 (GMT) |
DNA: optimize struct reconstruction by doing some preprocessing When loading large files that are more than a couple weeks old (such that DNA has changed in that time), a significant amount of time is spent in `DNA_struct_reconstruct`. This function takes a struct in the old layout and creates a struct in the new layout from it. This was slow because it was computing the diff between the struct layouts every time a struct is updated. Now the steps for the struct reconstruction is computed only once per struct. This information is then used to actually reconstruct all structs that changed. I measured about 10-20% speedup when loading Spring files. E.g. `10.6s -> 8.7s` for `06_055_A.anim.blend` in BKE_blendfile_read`. This percentage varies a lot based on the number of blocks that have to be reconstructed and how much DNA has changed since they have been written. In none of my tests was the new code slower than the old code. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D8959 |
Revision b41fb55 by Jacques Lucke September 29, 2020, 10:15 (GMT) |
Quiet unused variable warning |
Revision 762d93a by Jacques Lucke September 29, 2020, 10:12 (GMT) |
DNA: use better type for SDNA->structs The data layout remains exactly the same.. This change just gives all the elements in `SDNA->structs` names, making it more comfortable to work with the data. Reviewers: campbellbarton Differential Revision: https://developer.blender.org/D8926 |
Revision 32d4a67 by Jeroen Bakker September 29, 2020, 07:53 (GMT) |
Revert "Fix T81002: Images drawn with the Python gpu module no longer draw on top in the Image Editor" This reverts commit 085329f114beb904ed3ef0c8ec6894ee26916704. It didn't render rendered viewport overlays correctly. |
Revision 58b8724 by Campbell Barton September 29, 2020, 03:58 (GMT) |
Cleanup: spelling |
Revision b150071 by Aaron Carlisle September 29, 2020, 00:11 (GMT) |
Cleanup: Python API Docs: Text formating |
Revision 4d7b664 by Aaron Carlisle September 29, 2020, 00:11 (GMT) |
API Docs: Minor text improvements |
Revision d5353ee by Ankit Meel September 28, 2020, 19:10 (GMT) |
Cleanup: CMake/FFmpeg: Fix typo in message/comment Code added in the last commit {rB2fdbe4d0501114c716fd12bc}. |
Revision 2fdbe4d by Ankit Meel September 28, 2020, 19:03 (GMT) |
CMake/Find packages: add FindFFmpeg.cmake module. The behaviour is a bit different from other find modules: `FFMPEG_FIND_COMPONENTS` should contain the list of required libraries before calling `find_package(FFmpeg)`. If not set, a default set of most common libraries is searched for: `avcodec avdevice avfilter avformat avutil` http://ffmpeg.org/download.html Ref D8855 Reviewed By: brecht Differential Revision: https://developer.blender.org/D8918 |
Revision 48a0c93 by Sybren A. Stüvel September 28, 2020, 15:13 (GMT) |
Fix T80121: Forcefield F-curve modifier changes don't reset cache Add a dependency graph relation Force Object Animation ? Scene Rigid Body World Rebuild. This ensures that the rigid body world is rebuilt when a force object is re-tagged for animation updates. The extra relation doesn't add any new calculations when the animation is running, as the Time Source node already had a relation to the scene's `RIGIDBODY_REBUILD` node. The relation is created directly to the `RIGIDBODY_REBUILD` Operation. I would have liked to target the containing Component instead. However, that has the `RIGIDBODY_SIM` operation as entry node, which isn't enough to actually fix T80121. Reviewers: Sergey Differential Revision: https://developer.blender.org/T80121 |
Revision ddba5e0 by Nathan Craddock September 28, 2020, 13:54 (GMT) |
Outliner: Draw hierarchy lines dashed for object children Draw dashed lines for object child hierarchies in the outliner. This makes the difference between collection and object hierarchies more clear. Dashes are also consistent with viewport relationship lines. Differential Revision: https://developer.blender.org/D8997 |
Revision c6b904e by Bastien Montagne September 28, 2020, 12:56 (GMT) |
Fix T80657: Not freed memory blocks with Batch-Generate Previews. `ED_preview_icon_render()` owns the `id_copy` localized ID, so it has to free it itself. |
|
|
|


Master Commits
MiikaHweb | 2003-2021