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
path: root/source
AgeCommit message (Collapse)Author
2022-11-07Fix T102238: double free when storing attribute on empty geometryJacques Lucke
2022-11-07Fix T102316: blank color-space menu drop-downsCampbell Barton
Regression in [0] needs further investigation (building docs may crash again). This effectively reverts [0], however de-duplicating the color-space enum can be kept. [0]: 037b771e1af53b0f87b73a9fe01e8e660267ec81
2022-11-06Fix T102153: crash when muting node group with active viewerJacques Lucke
2022-11-06Fix T102144: missing validation of spline resolutionJacques Lucke
2022-11-06Fix T102292: deadlock in geometry nodes evaluation with task isolationJacques Lucke
As described in the comment on `BLI_task_isolate`, deadlocks can happen when isolation is used with threading primitives that separate spawning tasks from executing them. All threads are waiting the tasks to complete but no thread is able to continue working due to task isolation. The fix is to not pass lazy-threading hints through task isolations. This way isolated regions can't create new tasks in a scheduler further up the call stack. This may lead to minor slowdowns because less threading may be used. It's generally possible to get rid of the slowdown again by sending the lazy-threading hint before entering the isolated region.
2022-11-06Geometry Nodes: fix missing curve cacheJacques Lucke
2022-11-05Fix crash building Python API docsCampbell Barton
Color space conversion item-function missed checking the context was NULL to return a static array. This caused freed memory access when building docs.
2022-11-04Fix T99641: Assert hit when splitting video sequencer area horizontallyRichard Antalik
Don't draw channels region when height is 0.
2022-11-04Fix T102232: bridge edge loop crashCampbell Barton
Many connected edge loops could result in two edge loops sharing vertices. This is more of a workaround, the reason for two edge loops sharing vertices could be prevented some other way. Add this check since it's a straightforward solution, furthered investigation noted as a TODO.
2022-11-04Fix T102216: Change `min_ff` to `max_ff` in the return of `BlendType max`Evan Wilson
BlendType max incorrectly returns the minimum in BLI_color_mix.hh This differential fixes it to return the maximum. Maniphest Tasks: T102216 Ref D16364
2022-11-04Fix T102218: Baked f-curves display incorrectly when normalizedColin Basnett
This fixes T102218, where baked f-curves would display incorrectly when normalized. This bug was a result of the code making no effort to determine the y-range of baked f-curves, so it fell back to a default that looked horrible. I've added specific handling for finding the y-range of each f-curve (I extracted this functionality out to a new function, `fcurve_scene_coord_range_get`, for organization purposes). In addition, a minor optimization was made to eliminate redundant range-checks when in preview range mode. {F13838304} Reviewed By: sybren Maniphest Tasks: T102218 Differential Revision: https://developer.blender.org/D16363
2022-11-04Fix missing call to AttributeWriter::finish with paint vertex selectionCampbell Barton
2022-11-04Cleanup: quiet unused argument warningCampbell Barton
2022-11-04Fix T101686: WPaint + Pose select fails with GPU depth-picking disabledCampbell Barton
Regression in [0], however the primary purpose of that code was to cycle away from the active object (behavior which was intentionally removed, see: T96752). This broke weight-paint + pose-selection (Ctrl-LMB) when the GPU depth picking preference was disabled. Causing selection to pick the mesh object instead of the pose bones. This de-selected the armature, making the pose bones unselectable instead of selecting the pose bone as intended. Adding the old code back (restricting it to weight-paint mode) fixes the bug but reintroduces fairly involved logic unnecessarily. Instead, prioritize bone selecting when in weight-paint & pose mode (previously this was only done in pose-mode). [0]: b1908f2e0b23988627772f6a6d968d8351dca6d7
2022-11-03DRW: PointCloud: Fix memset writting non-trivial type std::mutexClément Foucault
This issue might have produced crashes in some cases similar to rBafd30e5e3a77.
2022-11-03Cleanup: DRW: Fix unused parameters warningClément Foucault
2022-11-03DRW: Command: Fix custom group test being always trueClément Foucault
2022-11-03make float value explicitNate Rupsis
2022-11-03adding defaults for NLA Action scale and repeatNate Rupsis
Differential Revision: https://developer.blender.org/D16379
2022-11-03Fix T102221: Entering editmode invalidates the driver associated with that meshSergey Sharybin
The regression is caused by D13824 0f89bcdbebf5. This fix follows the code from Sybren (D7785) to make object-mode drivers from shapekey value to work. This intuitively makes sense since the D13824 made the edit mode evaluation and ownership follow the object mode more closely. Differential Revision: https://developer.blender.org/D16380
2022-11-03Blender 3.4 - BetaThomas Dinges
* BLENDER_VERSION_CYCLE set to beta * Update pipeline_config.yaml to point to 3.2 branches and svn tags * Update and uncomment BLENDER_VERSION in download.cmake
2022-11-03BLI_path: skip "/./" and "/." in BLI_path_name_at_indexCampbell Barton
This avoids having to run BLI_path_normalize before calling BLI_path_name_at_index.
2022-11-03Cleanup: replace BLI_join_path with BLI_join_stringCampbell Barton
There is no need to use path joining logic here.
2022-11-03BLI_string: C++ support for string joining macrosCampbell Barton
C++ doesn't support taking the temporary address of a temporary array, use inline functions instead. Also change array joining functions to return the length of the string instead of returning the pointer (matching BLI_path_join).
2022-11-03PyDocs: Upgrade Sphinx to 5.3.0Aaron Carlisle
Trivial changes, should not affect us in anyway.
2022-11-03UI: Bevel: Specify the width type as "Width Type" in the status bar.Aaron Carlisle
Part of T102224
2022-11-03Cleanup: cmake comment line lengthCampbell Barton
2022-11-03Mesh: Parallelize remesh reprojectionsErik Abrahamsson
In high poly meshes the reprojections after remesh can become slow. This parallelizes reprojection of face sets, paint mask and vertex paint. It also adds flags to disable dependency graph updates on setting remesh options to remove UI lag. Profiling of remeshing a 3.4M poly mesh (in sculpt mode): Before: 19.6s After: 8.7s Differential Revision: https://developer.blender.org/D15638
2022-11-02Fix empty menu title in some menus (e.g. Text Editor context menu)Julian Eisel
2022-11-02Fix arrow key menu navigation using wrong directionJulian Eisel
Steps to reproduce were: * Right click in 3D View (context menu) press up or down arrow. Or: * Ctrl+Shift+O (Open Recent menu) press up or down arrow.
2022-11-02Fix memory leak with Freestyle renders after recent changesBrecht Van Lommel
Render stored a shallow copy of the scene view layers and views for thread safety, without proper functions to free it. But with the CoW depsgraph this scene is already a copy of the original and an additional copy is not needed. Refactor to use the scene view layers and some other settings directly instead of making a copy.
2022-11-02Refactor: Rename Object->imat to Object->world_to_objectSergey Sharybin
The goal is to improve clarity and readability, without introducing big design changes. Follows the recent obmat to object_to_world refactor: the similar naming is used, and it is a run-time only rename, meaning, there is no affect on .blend files. This patch does not touch the redundant inversions. Those can be removed in almost (if not all) cases, but it would be the best to do it as a separate change. Differential Revision: https://developer.blender.org/D16367
2022-11-02Fix: Crash adding rest positions to empty meshHans Goudey
The position attribute might not exist when the mesh is empty, which may be another problem, but there is no need to count on it here.
2022-11-02Realtime Compositor: Move shaders to compositor moduleOmar Emara
This patch moves the GLSL shaders and their infos to the compositor module as decided by the EEVEE & Viewport module. This is a non functional change. Differential Revision: https://developer.blender.org/D16360 Reviewed By: Clement Foucault
2022-11-02Realtime Compositor: Make vectors four dimensionalOmar Emara
Currently, the realtime compositor treat vector types as 3D vectors, which is true for most operations. However, some operations deal with vector types as 4D vectors that encode two 2D vectors or one 3D vector with the last component ignored. So this patch expands vector types to include a fourth component that is only sometimes used. Since we already stored vectors in RGBA textures, the necessary changes are straightforward and are mostly concerned with adjusting the Result class. Differential Revision: https://developer.blender.org/D16359 Reviewed By: Clement Foucault
2022-11-02Nodes: Reuse input sockets when creating new node groupsCsaba Boncsér
**Problem** Currently multiple input sockets are created when a new node group is made from selected nodes. Some of these are linked from the same source. It is not convenient to sort out and remove multiple input sockets that represent the same input. These inputs usually have meaningless names like 'value', 'x', etc. **Solution** Create common input sockets for each link starting from the same input. Move links inside the new group's node tree and reroute it to connect the common input socket to the original nodes. This is done by building up a mapping between the incoming link sources to the input interfaces created for them. The input interfaces are reused by the rest of the links having the same source. This patch also changes the way the input sockets get their names. Output socket names of the group nodes usually are specific and are given consciously. Use the output socket names from group nodes instead of the inputs where the links point to. Differential Revision: https://developer.blender.org/D15802
2022-11-02Geometry Nodes: Add index and value inputs to sample curve nodeHans Goudey
As described in T92474 and T91650, this patch adds two features to the sample curve node. First is an index input, to allow choosing the curve to sample for each point. Second is a custom field input, which is evaluated on the control points of the curve and then sampled like the other outputs. There is an "All Curves" option for the old behavior which takes the length of all curves into account. For invalid curve indices, the node outputs zeros (default values). Invalid lengths and factors are clamped. There have been various discussions about splitting the node up more, but this is an intuitive combination of options and will work well enough for current use cases. The node could still be generalized more in the future. Keep in mind that the source field is evaluated on curve control points, not the evaluated points used for sampling. This is necessary so that fields like "Index" work as expected. Differential Revision: https://developer.blender.org/D16147
2022-11-02Fix use-after-free in asset library storage destructionJulian Eisel
Would only appear when more than 4 asset libraries were loaded, because small buffer optimization would hide the issue.
2022-11-02Fix BLI_path_parent_dir returning success with a single period as inputCampbell Barton
While relatively harmless, BLI_path_parent_dir wasn't returning failure when passed in "./" which wouldn't succeed. Instead of adding a ".." and normalizing, normalize the path and remove the last directly. This is simpler than inspecting the resulting path to see if normalize removed it or not. Add additional tests which failed previously.
2022-11-02Tests: enable path tests for WIN32Campbell Barton
Tests for BLI_path_normalize, BLI_path_parent_dir & BLI_path_rel were disabled on WIN32 because of complications with slash direction. Enable these tests using character replacement to manipulate test data.
2022-11-02Cleanup: use doxy sections for path testsCampbell Barton
2022-11-02Fix T102201: File selector shows "\" before folder names on WIN32Campbell Barton
Regression in [0] on WIN32 caused joining paths {"//", "path"} to result in "//\path". This made the file selector show paths with a "\" prefix. Add an exception for WIN32 where an initial path of forward slashes is joined without a back-slash. [0]: 8f7ab1bf46d5e8610b167180b7631ff62e718a08
2022-11-02Cleanup: formatCampbell Barton
2022-11-02Cleanup: spelling in commentsCampbell Barton
2022-11-01Fix BLI_path_parent_dir failing on paths ending with ".."Campbell Barton
The check for BLI_path_normalize having succeeded only checked for a trailing "../" which isn't correct. This caused going up a directory in the file selector to do nothing on directories ending with "..". This also caused an empty path to expand into "../" because BLI_path_extension_check didn't account for this case. Resolve using BLI_path_name_at_index which extracts the last component of the path without having to match the the surrounding slashes.
2022-11-01Fix BLI_path_normalize failing with "." and ".." in the pathCampbell Barton
The logic to go up a directory (using "..") ran before stripping "/./" from the path. This caused "/a/b/./../" to result in "/a/b/" instead of "/a/". Now redundant characters are removed before before checking for ".." in paths. Include test to ensure this works as expected.
2022-11-01Tests: add BLI_path_parent_dir tests, split BLI_path_normalize testsCampbell Barton
Also enable a test that was disabled with a fix FIXME comment but works.
2022-11-01UI/Nodes: Update node add menu as assets get loadedJulian Eisel
Adds a listener to the node add menu so that it refreshes as assets get loaded asynchronously. Followup to cf985180551d, also see 99e5024e97f1 and the previous commit.
2022-11-01UI: Support C defined menu types to listen to notifiersJulian Eisel
Needed to dynamically load assets as menu items, see cf985180551d and 99e5024e97f1. The next commit will add the listener for the node add menu.
2022-11-01USD IO: replace deprecated primvars API.Michael Kowalski
Updated the code to use the UsdGeomPrimvarsAPI class to read and write mesh primvars instead of the now deprecated primvars accessors in UsdGeomImageable. This will be required to build with USD 22.11 in the future, where the deprecated functions have been removed.