Revision a8739ae by Campbell Barton September 2, 2021, 06:12 (GMT) |
Fix regression in recent change 0708733c46cb6b50697c1b80a6541d6fb410267e Adding a mirror modifier in edit-mode crashed. Freeing meshes that hold a shallow copy happens in multiple places while calculating modifiers, making it impractical to clear the edit-mode pointer before freeing the mesh (as done in BKE_editmesh_free_derived_caches). Add a struct member to the edit-mesh struct so evaluated copies don't free the edit-mesh contents. |
Revision 809b33b by Campbell Barton September 2, 2021, 05:30 (GMT) |
Docs: improve the error when undo poll fails Calling undo in from Python background-mode would raise an exception without any information about how to initialize undo. |
Revision 0708733 by Campbell Barton September 2, 2021, 05:30 (GMT) |
Fix T91123: Freeing meshes in edit-mode leaks memory Freeing the edit-mesh pointer wasn't free the edit-mesh data it's self. Unlinking from the outliner or through the Python API leaked memory. This didn't often cause leaks in practice since ED_editors_exit exits edit-mode for all objects. Now freeing mesh data frees the edit-mode data as well, this matches the behavior of other object types that support edit-mode. |
Revision 19e1b5c by Campbell Barton September 2, 2021, 05:30 (GMT) |
Fix T90972: Crash calling Mesh.clear_geometry in edit-mode No longer free the edit-mesh pointer while in edit-mode since this isn't reliable to keep the object in edit-mode while freeing it's edit-mesh data. Users who want to exit edit-mode should do so explicitly. Caused by 6d2f9b1dfa98502e9e9f1a73e3dded2ded1f1ce6. |
Revision a2f3aca by Campbell Barton September 2, 2021, 05:30 (GMT) |
Cleanup: remove redundant edit-mesh memory allocation This memory was only duplicated to satisfy mesh_data_free which was incorrectly freeing the pointer (but nothing else). |
September 2, 2021, 03:53 (GMT) |
Cleanup: Convert geometry nodes socket list to use new API The new API introduced in rB1e69a25043120c provides a shorted, more flexibly way to declare node socket inputs and outputs. This commit updates all geometry nodes to use the `NodeSocketBuilder` API, except the four nodes that need `SOCK_HIDE_VALUE` or `SOCK_MULTI_INPUT`. Differential Revisions: D12377, D12376, D12374, D12373, D12372 |
Revision 4170668 by Hans Goudey September 2, 2021, 03:22 (GMT) |
Cleanup: Grammar |
Revision f77de67 by Campbell Barton September 2, 2021, 01:45 (GMT) |
EditMesh: recalculate normals after running rip Failure to calculate normals caused an assertion since face tessellation was being calculated with invalid normals. In practice the rip-drag action would recalculate normals anyway, however mesh tessellation should always be performed with valid normals. |
Revision 011d3a9 by Campbell Barton September 2, 2021, 01:41 (GMT) |
Cleanup: de-duplicate logic in bpy keyframing logic |
Revision 6c17783 by Campbell Barton September 2, 2021, 01:29 (GMT) |
Cleanup: remove redundant alloc argument to SEQ_editing_get Callers that require lazy initialization can use SEQ_editing_ensure. |
Revision f8dd0d0 by Campbell Barton September 2, 2021, 01:08 (GMT) |
Cleanup: spelling in comments |
Revision baee000 by Campbell Barton September 2, 2021, 01:08 (GMT) |
Fix T90798: calc_loop_triangles is not updated after joining objects |
Revision 42546db by Hans Goudey September 1, 2021, 16:47 (GMT) |
Fix T91054: Editing group custom property gives error This commit fixes the custom property edit operator for the the case of editing group properties. Currently this isn't supported very well, the data is converted to a string, but the operator shouldn't fail anyway. This allows editing properties created like this: C.object['abuse'] = {'parent' : ['child1', 'child2']} These changes reflect some issues with the design of the operator. Requiring guessing the type of the data does not work well at all, and makes code more complicated. In the future this operator can be updated to use a type drop-down. Differential Revision: https://developer.blender.org/D12364 |
Revision 99c981f by Hans Goudey September 1, 2021, 16:46 (GMT) |
Cleanup: Remove redundant property UI data clear Since the UI data is now stored in the property, and the property is deleted on the next line, this doesn't need to be called separately. |
Revision 083a892 by Sergey Sharybin September 1, 2021, 15:00 (GMT) |
Fix strict warning about discarding const qualifier Solved by using const qualifier for arguments which aren't mutable in PyC functions. Differential Revision: https://developer.blender.org/D12369 |
Revision f62eb8a by Julian Eisel September 1, 2021, 14:28 (GMT) |
BPY-Docs: Add missing file context members documentation Context members of the file space would not be shown in the context API docs. |
Revision 2aad8fc by Germano Cavalcante September 1, 2021, 13:39 (GMT) |
PyAPI: GPU Shader: add 'state' parameter to uniform sampler Now you can choose the state of texture (as a filter and repetition) to render it. This is important as the original state is very limited. |
Revision 7ec839a by Julian Eisel September 1, 2021, 13:13 (GMT) |
File Browser/BPY: Expose list of selected files in context Since recently it's possible to query the active file (as object, not just the name), but it's quite useful for scripting to have access to all selected files. This introduces `bpy.context.selected_files`, returning a list of file objects representing files in the File Browser. |
Revision 7928133 by Julian Eisel September 1, 2021, 13:12 (GMT) |
File Browser/BPY: Expose relative path of a file via BPY There were requests to be able to track the file selection in the File Browser. Just using the file name for that wouldn't if the file browser has the recursive display enabled. File names could be duplicated then. So expose the entire path relative to the currently displayed directory. |
Revision 8355e3f by Bastien Montagne September 1, 2021, 10:51 (GMT) |
Unittest: Extend and basic linking tests and add basic append tests. We could check many more things still, but this should already cover most basic common cases. |
|