Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-07-12Fix T89775: geometry nodes logging crash during renderJacques Lucke
Under some circumstances (e.g. when rendering) the geometry nodes logger is not used. This was missing a simple null check.
2021-07-12Blenlib: Add BLI_assert_msg() for printing an extra string if the assert failsJulian Eisel
It always bothered me that we'd do the `BLI_assert(... || !"message")` trick to print a message alongside the assert, while it should be trivial to have a way to pass an extra string as additional argument. This adds `BLI_assert_msg()` with a second argument for a message. E.g.: ``` BLI_assert_msg( params->rename_id == NULL, "File rename handling should immediately clear rename_id when done, because otherwise it will keep taking precedence over renamefile."); ``` On failure this will print like this: ``` 0 Blender 0x00000001140647a3 BLI_system_backtrace + 291 [...] 13 Blender 0x00000001092647a6 main + 3814 14 libdyld.dylib 0x00007fff203d8f5d start + 1 BLI_assert failed: source/blender/editors/space_file/file_ops.c:2352, file_directory_new_exec(), at 'params->rename_id == ((void*)0)' File rename handling should immediately clear rename_id when done, because otherwise it will keep taking precedence over renamefile. ``` Reviewed by: Sybren Stüvel, Jacques Lucke, Sergey Sharybin, Campbell Barton Differential Revision: https://developer.blender.org/D11827
2021-07-12Fix T89765: boolean modifier collection refcount issuePhilipp Oeser
The 'collection' property is flagged PROP_ID_REFCOUNT, so the modifiers foreachIDLink functions should walk with IDWALK_CB_USER (instead of IDWALK_CB_NOP). Otherwise the modifier wont be included as a user for the collection (e.g. on file read); removing the collection from the modifier will decrement usercount though (which in worst case scenario makes the collection orphan and will result in data loss) Maniphest Tasks: T89765 Differential Revision: https://developer.blender.org/D11877
2021-07-11Cleanup: correct spelling in comments, remove profanityCampbell Barton
2021-07-11Edit Mesh: tag the object data for updating instead of the objectCampbell Barton
When editing vertices with number buttons, tag the mesh, not the object. This prevents the evaluated mesh being re-created for the object and is correct as the mesh is being edited not the object. Note that all tags for updating object geometry should be checked to see if this change should be applied there too. From a simple test on a high-poly mesh this gives around 1.3x overall speedup.
2021-07-10LineArt: Fix edge type panel `use_cache` prop.YimingWu
The name was mistakenly written as `use_cached_result`. Fixed.
2021-07-10LineArt: Fix modifier apply.YimingWu
After cache implementation line art apply will not show strokes properly, now fixed. # Conflicts: # source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
2021-07-09Fix channel packed images display in the Image/Node editorPhilipp Oeser
Channel packed images should not have their RGB affected by alpha. rendering in Cycles and Eevee was fine already, but displaying these was not right in the Image and Node editors. Not 100% sure what to do for the "Color and Alpha" mode, but I guess this should stay like it was before (applying the alpha). "Color", "R", "G", and "B" modes were changed to not have color be affected by alpha though. ref. T89034 Maniphest Tasks: T89034 Differential Revision: https://developer.blender.org/D11871
2021-07-09Geometry Nodes: fix direction mode in curve primitive line nodeJohnny Matthews
Differential Revision: https://developer.blender.org/D11872
2021-07-09Fix a compiler warning on Windows for Exact Boolean.Howard Trickey
For some reason, the Windows compiler didn't like the static function being used in the parallel_reduece.
2021-07-09Fix: crash when using empty attribute searchJacques Lucke
2021-07-09Walk Navigation: Z axis correctionDalai Felinto
Fly navigation has always had this option. They is particularly useful when users use "Trackball" as their orbit method. For walk navigation this works as a one off option. Not as a toggle like for fly navigation. Differential Revision: https://developer.blender.org/D11863
2021-07-09Fix T89435: Reordering FCurves can cause crash or corruptionSybren A. Stüvel
Correctly reset `prev` and `next` pointers of action group FCurves when separating them into distinct `ListBase`s per `bActionGroup`. These `NULL` pointers are necessary to temporarily demarcate the start & end of the `bActionGroup::channels` list. Having them still point to other FCurves caused ordering issues when moving curves towards the start/end of a group. This commit corrects the above issue and adds versioning code to rectify any ordering issues that may have been caused. For this purpose the `BKE_action_groups_reconstruct()` function is rewritten to avoid relying on the `bAction::curves` list order or `prev` link integrity. Differential Revision: https://developer.blender.org/D11811
2021-07-09Cleanup: Walk Navigation define remameDalai Felinto
WALK_MODAL_TOGGLE > WALK_MODAL_GRAVITY_TOGGLE
2021-07-09Fix typo in Fly mode tooltipDalai Felinto
The bug was always around and was introduced with the original code e2a7168e9680f (2009).
2021-07-09Nodes: Moved group interface panel code to python.Lukas Tönne
The node group interface panels were still implemented in C. Now they ported over to python for easier maintenance. Differential Revision: https://developer.blender.org/D11834
2021-07-09Make Single User: support object data animationPhilipp Oeser
In addition to _object_ animation, now _object data_ (mesh, curve, ...) animation can now be made single user as well. This came up in T89369 and while it is possible to do this via the Outliner [where all actions have to be selected individually], this seems to be more convenient to be done from the 3DView. note: usercount of the action is checked now, if it single-user already, no copy takes place (same thing could/should be done for single_object_action_users as well). note2: obdata is made single user as well (otherwise duplicated actions will be assigned to the same shared obdata - which does not result in unique animadata which is what we are after here) ref. T89369 Maniphest Tasks: T89369 Differential Revision: https://developer.blender.org/D11683
2021-07-09Cleanup: use 'uint' for BLI_arrayCampbell Barton
2021-07-09BLI_array: add BLI_array_deduplicate_ordered utility & testsCampbell Barton
2021-07-09Cleanup: rename BKE_animdata_{add=>ensure}_idCampbell Barton
Use the term `ensure` as existing data is used when present.
2021-07-08BLI: avoid calling deleted copy constructor in some compilersJacques Lucke
Previously, this did not compile in VS 2017, because `new T(initializer_())` would try to call the copy constructor of `T`. Now, `initializer_` will construct the `T` inplace.
2021-07-08Fix T89169: Rename Compositor Node "View Switch" to "Switch View" in search ↵Pratik Borhade
panel Renaming compositor node in search panel "View Switch" to "Switch View" for better consistency. Reviewed By: dfelinto Differential Revision: https://developer.blender.org/D11717
2021-07-08GPencil: Support camera "Frame Selected" and object previewsJulian Eisel
Using the "Camera Fit Frame to Selected" operator didn't work for Grease Pencil objects. The same issue caused grease pencil preview thumbnails to be useless (e.g. when using "Mark Asset" on a Grease Pencil object). Reason was that there was no logic to handle grease pencil data and its strokes for the object display-point iterators used for the "Frame Selected" logic. Addresses T89656. Reviewed by: Antonio Vazquez, Campbell Barton Differential Revision: https://developer.blender.org/D11833
2021-07-08Fix: instances are made real when they shouldn't beJacques Lucke
The original assumption that the `modifyMesh` function is only called when the modifier is applied was wrong. There are still a couple of other places calling it through `BKE_modifier_modify_mesh`. Now there is an extra check that makes sure instances are only realized when the modifier is actually applied.
2021-07-08Fix compositor backdrop gizmo refresh problem when toggling sidebarJulian Eisel
The backdrop image gizmo was not following the backdrop image, it needs to be refreshed whenever the view changes. The region init callback is executed whenever the region size changes, so that should be a reliable place to do that. Reported as part of T87591.
2021-07-08Outliner: use 'compacted' row for bones as wellPhilipp Oeser
In a collapsed hierarchy, some type of data are listed as one icon per item (2.79 did this for all data), others are 'compacted' as a single icon with a counter (also indicating if the active item is down that collapsed hierarchy) from 2.80 on. Not quite sure if {rB92dfc8f2673e} was meant to do this (if it was, this was not working though because relevant code would only get executed for object hierarchies it seems), so now this is done for bones as well. Fixes T88413. Maniphest Tasks: T88413 Differential Revision: https://developer.blender.org/D11404
2021-07-08Cleanup: spellingCampbell Barton
2021-07-08CMake: add missing headers, sort file listsCampbell Barton
2021-07-08Fix crash displaying the sequencer without a valid 'scene->ed'Campbell Barton
Regression in 45d54ea67f9440d1c4ef89b3257ee92159de2599
2021-07-08Docs: Fix minor incorrect syntax errorsnutti
This patch fixes the incorrect syntax in documentations. Reviewed By: Blendify Differential Revision: https://developer.blender.org/D11822
2021-07-08Cleanup: Consolidate tablet walk mode rotate factors.Nicholas Rishel
Walk rotate speed for tablets was being modified at runtime by scaling the user preference mouse_speed by a constant factor; this consolidates scaling into the the compile time tablet scale factor in walkApply. No change in behavior.
2021-07-07Cleanup: Remove wrong File Browser commentJulian Eisel
Accidentally included this in rB01e1944cd455, it came from a merge conflict.
2021-07-07Cleanup: Correct comment in earlier commit (f4cb3ccd9c07)Julian Eisel
Comment was based on an older version of the patch.
2021-07-07Assets: Keep assets active after renaming, ensure they are scrolled into viewJulian Eisel
When renaming an ID somewhere in the UI after marking it as asset, it would often get lost in the Asset Browser (scrolled out of view). It would also get deactivated. This patch makes sure that if an asset is active whose ID gets renamed, it is kept active and visible. That is important for a fast, uninterrupted asset creation workflow, where users often rename assets while working in the asset browser. Old code stored the new file-name to identify a file after re-reading the file-list after the rename. For assets that doesn't work because there may be multiple assets with the same name. Here the simple solution of just storing the pointer to the renamed ID is chosen, rather than relying on the file-name in this case. (Should be fine with undo, since the ID * reference is short lived, it's not stored over possible undo steps. If it turns out to have issues, I rather switch to a rename_id_uuid, but keep that separate from the file->uid). Reviewed by: Sybren Stüvel Differential Revision: https://developer.blender.org/D11119
2021-07-07MSVC: Fix build issue with TBBRay Molenkamp
TBB includes in windows.h which will by default define min/max macro's by default, which collide with stl's min/mac functions. this change instructs windows.h not to add the offending macros
2021-07-07File Browser: Select files and directories after renamingJulian Eisel
(Note: This is an alternative version for D9994 by @Schiette. The commit message is based on his description.) Currently, when a new directory is created it is not selected. Similarly, when renaming an existing file or directory, it does not remain active/highlighted blue after renaming. This change makes sure the file or directory is always selected after renaming, even if the renaming failed or was cancelled. This has some usability advantages: - Open the newly created directory without having to select it (ENTER). - If you make a naming mistake, you can immediately fix that (F2) without having to click it again. - If you create a directory and forget to name it, you can fix that (F2) without having to select it. - This is consistent with many common File Browsers. Further, selecting the item even after renaming failed or was cancelled helps keeping the file in focus, so the user doesn't have to look for it (especially if the renaming just failed which the user may not notice). In other words, it avoids disorienting the user. Also see D11119 which requires this behavior. We could also always select the file/directory on mouse press. This would make some hacks unnecessary, but may have further implications. I think eventually that's what we should do though.
2021-07-07Cleanup: Move file deselection function to more appropriate fileJulian Eisel
`filesel.c` seems like the place that should contain file selection functions. Previously it was in `file_ops.c` because that was the only file that actually used it. But a followup commit needs it from a different file.
2021-07-07Fix crash accessing sequencer stripsSergey Sharybin
Was caused by recent clange sequences_all iterator in RNA (D11793).
2021-07-07Geometry Nodes: refactor logging during geometry nodes evaluationJacques Lucke
Many ui features for geometry nodes need access to information generated during evaluation: * Node warnings. * Attribute search. * Viewer node. * Socket inspection (not in master yet). The way we logged the required information before had some disadvantages: * Viewer node used a completely separate system from node warnings and attribute search. * Most of the context of logged information is lost when e.g. the same node group is used multiple times. * A global lock was needed every time something is logged. This new implementation solves these problems: * All four mentioned ui features use the same underlying logging system. * All context information for logged values is kept intact. * Every thread has its own local logger. The logged informatiton is combined in the end. Differential Revision: https://developer.blender.org/D11785
2021-07-07Fix T89397: animation in geometry nodes modifier does not updateJacques Lucke
The geometry nodes modifier uses id properties for the inputs to node groups. That is because the set of properties changes depending on which geometry node group is selected. The animation was not updated correctly because the `ANIMATION_EVAL` depsgraph node was not evaluated, because nothing depended on it in the depsgraph. This patch makes sure that the proper link to the geometry component is inserted. Differential Revision: https://developer.blender.org/D11831
2021-07-07Fix T89559: Outliner shows extra view layer column when it shouldn'tDalai Felinto
This issue happened because of some miscommunication during the original patch review. Since we have the parent element in other outliner modes (Blender File, Data API) I was on the fence here. Rolling this back now so that when Show All View Layers is off we don't see the current View Layer top element. The fix is simple, but it was better to format the code around to follow the style in this file. Differential Revision: https://developer.blender.org/D11830
2021-07-07Cleanup: Sort nodes alphabeticallyHans Goudey
2021-07-07Cleanup: update filename referencesCampbell Barton
2021-07-07Geometry Nodes: Rename nodes for clarity between mesh and curveHans Goudey
Rename the mesh circle to "Mesh Circle", mesh line to "Mesh Line", and mesh subdivide to "Mesh Subdivide". Previously they looked exactly the same in the search menu, and the nodes themselves had the same label. This is a "deep" rename that also renames internal defines and function names to match the UI.
2021-07-07Cleanup: Moving `mesh_evaluate` and `mesh_normals` to C++Jagannadhan Ravi
No functional changes. Reviewed By: HooglyBoogly Ref D11744
2021-07-07Cleanup: spelling in commentsCampbell Barton
2021-07-07Geometry Nodes: Curve Endpoints NodeAngus Stanton
This node is quite similar to the curve to points node, but creates points for only the start and end of each spline. This is a separate node because the sampling from the curve to points node don't apply, and just for ease of use. All attributes from the curves are copied, including the data for instancing: tangents, normals, and the derived rotations. One simple use case is to make round caps on curves by instancinghalves of a sphere on each end of the splines. Differential Revision: https://developer.blender.org/D11719
2021-07-07makesdna: fix parsing 'const', 'struct', 'unsigned' as a prefixCampbell Barton
DNA parsing assumed any identifier which starts with (`struct`, `unsigned`, `const`) was that identifier. So a struct called `constTest foo;` would be parsed as `est foo;`. Add utility function to check identifiers are not part of a larger identifier. This also supports skipping these identifiers in any order. Reviewed By: LazyDodo Ref D11837
2021-07-07Cleanup: clang-tidy, unused functionCampbell Barton
2021-07-07Fix T89702: Curve to points node assert on single point splineHans Goudey
This function could be refactored slightly if we assumed the input was always sorted, but a special for a single point input is also fine.