Revision eee35eb by Bastien Montagne June 10, 2020, 17:45 (GMT) |
Make `BKE_scene_copy` fully handle all duplicate modes, deep copy included. This greatly simplifies and unifies logic. Also addresses T77255: full scene copy will now use same preferences parameters as object or collection duplicate to choose which data-blocks to copy along. |
Revision b05fa12 by Bastien Montagne June 10, 2020, 17:45 (GMT) |
Make `BKE_collection_duplicate able to handle master collections. Those are then assumed already duplicated, and not touched. However, all of ther objects and sub-collections can still be processed as with any other regular collection... |
Revision 474b288 by Jacques Lucke June 10, 2020, 17:02 (GMT) |
BLI: add Map.pop_default method There is a nice use case for this in depsgraph code. Also I added some previously missing calls to std::move. |
Revision 20658e6 by Philipp Oeser June 10, 2020, 16:46 (GMT) |
Fix T77047: Dyntopo Sample detail size on hidden mesh causes crash The `Toolbar` and `Sidebar` hide the corresponding panel `VIEW3D_PT_sculpt_dyntopo` by polling for context.sculpt_object and context.tool_settings.sculpt. In the Active Tool in the Properties Editor this poll does not return False though, thus the sample_detail_size is possible from there. Second security check (the operator poll `SCULPT_mode_poll`) checks the active object -- that is still valid even if hidden, so we are allowed to execute the operator. However the active object becomes NULL once the area is switched in `sample_detail()` -- see `CTX_wm_area_set`), leading to the crash. Dont think there is a quick and easy way to do this in the poll from the Properties Editor, so just check for a valid active abject in the operator and return OPERATOR_CANCELLED if we dont have it. Maniphest Tasks: T77047 Differential Revision: https://developer.blender.org/D7832 |
Revision 4b39de6 by Julian Eisel June 10, 2020, 16:40 (GMT) |
Fix T74101: File Browser in macOS fullscreen crashes or makes windows unusable When closing the File Browser window after making it fullscreen, Blender would either crash or all windows would disappear, with no obvious way to bring them back. The "fix" is to not allow fullscreen for File Browsers (or any future "dialog" windows), but only maximizing. From what I can tell that's how secondary windows are supposed to work on macOS. What we previously did seemed like something macOS doesn't handle cleanly, and I didn't find a simple way to do so on our side. |
Revision 84d4447 by Jacques Lucke June 10, 2020, 16:27 (GMT) |
BLI: fix type forwarding in Map Without this change, the code might do an unwanted conversion. |
Revision 4c172f7 by Jacques Lucke June 10, 2020, 16:27 (GMT) |
BLI: support constructing StringRef from start and end pointer |
Revision 2d69536 by Hans Goudey June 10, 2020, 15:23 (GMT) |
UI: More specific modifier move to index operator description |
Revision a9dfad8 by Hans Goudey June 10, 2020, 15:16 (GMT) |
Fix T77694: Start panel animation when expansion data changes During normal drawing there is a rather complicated method to check whether the panels should be animating. It's not set up to deal with the panel expansion changing from outside the UI, which is now possible with the panel expansion connected to the modifier's show_expanded property. The solution is to activate panel animation if setting the expansion property has changed. |
Revision b0ac7a8 by Hans Goudey June 10, 2020, 15:08 (GMT) |
UI: Only set first bit of modifier expansion fag with Python Only the flag for the top level panels is exposed with RNA, so this adds a set method to only change that bit. |
Revision 9b78466 by Bastien Montagne June 10, 2020, 15:01 (GMT) |
Cleanup: use proper enum type in parameter of BKE_scene_copy. |
Revision 74ec37b by Bastien Montagne June 10, 2020, 14:48 (GMT) |
Enable (deep) copy of overrides. This commit enables basic copy of overrides on generic ID level, as well as from (deep) copy operators for objects and collections. So e.g. if your linked overridden caracter is in a collection, you can now (from the outliner) Duplicate that override collection to get a new overriding copy of the character. We still need operators (new or modifying existing ones) to handle that from 3DView e.g. Note that deep copy code for objects/collections (and incidently animdata) had to be modified to avoid duplicating/making local IDs that remain linked ones being used by overrides ones. |
Revision 1d00170 by Bastien Montagne June 10, 2020, 14:48 (GMT) |
Fix (unreported) disapearance of some overrides after save & reload. The override operations generated from 'do not follow' RNA pointer properties (i.e. pointers to other IDs) were not properly clearing their 'no more used' flag, and hence were incorrectly deleted on second save. |
Revision 3ea04d3 by Jacques Lucke June 10, 2020, 14:31 (GMT) |
Blenloader: Don't just crash when a struct name is not known Related to T77524. This brings back the old way of handling corrupted data. |
Revision 6fe32d7 by Jacques Lucke June 10, 2020, 14:16 (GMT) |
Fix T77524: Don't try to write storage of node with undefined node This cannot work, because the storagename is the empty string. |
Revision d62bbf4 by Julian Eisel June 10, 2020, 13:52 (GMT) |
UI: Show library names grayed out and right-aligned in menus Should separate the data-block name better from the library name and improve readability. |
Revision 93c8955 by Alexander Gavrilov June 10, 2020, 13:51 (GMT) |
Mesh Edit: preserve Custom Normal vectors in topology operators. Custom Loop Normals are normally encoded relative to the default normals, similar to normal maps, allowing them to naturally follow mesh deformations. Changes to mesh topology however often result in nonsensical effects that are not desired. The Remove Doubles operation especially (now known as Merge By Distance) is intended as a purely topological operation, and definitely should not change the vector of the custom normals. This patch implements that behavior by converting the relative encoding into an absolute vector layer for the duration of the operation. It also modifies other Merge types in this way for consistency, the Rip operator as their inverse counterpart; and also Delete, Dissolve, Connect Path and Knife operators as other examples more related to topology than shape. On the technical side, this ports mesh_normals_loop_custom_set to BMesh, and then uses a temporary Custom Data layer to store the normals as vectors for the duration of the above mentioned operations. When the normals are converted back to custom data, the caller can choose whether to mark edges as sharp to preserve distinct normals, or just average them instead. All but Remove Doubles choose to average for now. Differential Revision: https://developer.blender.org/D4994 |
Revision a58dc25 by Jacques Lucke June 10, 2020, 13:47 (GMT) |
Cleanup: improve custom data type names This is related to T76659. This just renames data type names to `CD_PROP_STRING`, `CD_PROP_FLOAT` and `CD_PROP_INT32`. It makes them a bit more specific and removes unnecessary abbreviations. Reviewers: brecht Differential Revision: https://developer.blender.org/D7980 |
Revision cc26041 by Jacques Lucke June 10, 2020, 13:42 (GMT) |
Depsgraph: use blender::Set instead of std::set We decided that `blender::Set` should be the default choice for a set data structure in Blender. Reviewers: sergey Differential Revision: https://developer.blender.org/D7982 |
Revision a7ea07c by Jacques Lucke June 10, 2020, 13:33 (GMT) |
Depsgraph: use blender::Vector instead of std::vector We decided that `blender::Vector` should be the default choice for a vector data structure in Blender. Reviewers: sergey Differential Revision: https://developer.blender.org/D7981 |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021