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
2022-03-31Compositor: Fix Missing output UI for Normal nodeAaron Carlisle
There were multiple issues at hand here: - The default value has been changed to `{0, 0, 1}` see: rB25f1783673de636a6f0ca4457df8c05bc685981a - The output needs the subtype set `PROP_DIRECTION` - The noder properties were missing in `node_composit_set_butfunc` Fixes T96860
2022-03-31Fix T96347: Pose gizmo shown at wrong location with multiple objectsCampbell Barton
Regression in [0] follow the same logic as edit-mode for using the local-matrix. [0]: d052169e7e4b84b5d621fcbf15b187a4951f1f70
2022-03-29Fix T96691: Heap corruption in file_browse_execCampbell Barton
Regression in [0], also use pad buffer by 1 instead of 2 which is no longer needed as the trailing slash is no longer added after allocating the string. 0682af0d63a44b050d57bdaf7699e364a311d711
2022-03-28Fix T96812: Regression: Snapping is broken with proportional editingGermano Cavalcante
This was a mistake in the conditional structure introduced in 4b35d6950d4f This commit also adds a new type of snap exclusion: `SNAP_NOT_EDITED`. Thanks to @Ethan1080 for pointing out the error.
2022-03-28Fix T96828: GPencil primitives handlers not workingAntonio Vazquez
Following the logic is not necessary to check the mouse button because the status has changed before.
2022-03-28Fix T96670: bake from multires not reflected in the Image Editor.Jeroen Bakker
2022-03-28Image editor: not updating after image operation.Jeroen Bakker
Fixes T96324, T96312, T96323
2022-03-28Fix T96790: Gpencil Inverted Fill makes extra stroke at originAntonio Vazquez
The problem was the stroke was created in the inverted loop before checking if the total of points is 0 and exit the loop. Also some code Cleanup.
2022-03-24Fix T96308: Mesh to BMesh conversion doesn't calculate vertex normalsHans Goudey
Currently there is a "calc_face_normal" argument to mesh to bmesh conversion, but vertex normals had always implicitly inherited whatever dirty state the mesh input's vertex normals were in. Probably they were most often assumed to not be dirty, but this was never really correct in the general case. Ever since the refactor to move vertex normals out of mesh vertices, cfa53e0fbeed7178c7, the copying logic has been explicit: copy the normals when they are not dirty. But it turns out that more control is needed, and sometimes normals should be calculated for the resulting BMesh. This commit adds an option to the conversion to calculate vertex normals, true by default. In almost all places except the decimate and edge split modifiers, I just copied the value of the "calc_face_normals" argument. Differential Revision: https://developer.blender.org/D14406
2022-03-24Fix minor error in last commit (4b35d6)Germano Cavalcante
If there is no active object, it is to be expected that we are in object mode as well.
2022-03-24Fix T96711: snap in edit mode for selected objects does not workGermano Cavalcante
Regression introduced in 52be06301257a82a1b4a5746e91ff60daa637ded The `SNAP_NOT_SELECTED` option should only consider base selected if we are in object mode.
2022-03-24Fix T96705: Crash when pressing F3 outside a Blender window if Developer extrasJulian Eisel
If the mouse is not hovering the window, there is no active region. This is a valid state, but the UI-list filter operator didn't account for that case.
2022-03-23Fix T96624: NLA crash when reordering tracks if no object is selected.Pratik Borhade
Caused by rBc0bd240ad0a1. To avoid crash, make boolean value false if active object data is NULL. Should be backported to 2.93 LTS and 3.1 corrective releases.
2022-03-23Fix T96470 new obj exporter writing material groupsAras Pranckevicius
The logic in the code was _completely different_ from the documentation and what the python exporter in 3.0 did. The new code assumed that "export material groups" meant "append material name to the object name", and was only ever kicking in when the "export object groups" option was also checked. But the proper behavior (as in 3.0 exporter & the online docs), is to emit g objectname_materialname before each usemtl line. Which is something entirely else. Cherry picked from b9123b806fc4 (D14349) with minor conflict fixes.
2022-03-21Fix T96518: Gpencil Fill freezes when use invert and click inside areasAntonio Vazquez
When using inverted filling and click inside a closed area and not outside as is expected, the algorithm to detect the contour to fill is unable to find the filling shape and try to fill outside of the valid index. The infinite loop was adding more memory for each loop and the process continued while there was system resources and finally crashed the system. As the tool in negative mode is designed to fill all areas when you click outside of any shape, now the algorithm check if the outline is not working as expected and cancels the filling process.
2022-03-21Fix T96386: crash when changing shader to node group in propertiesJacques Lucke
The previous code updated the wrong node tree. The result was that the new group node did not have the socket that was supposed to be linked.
2022-03-21Fix T96303: C++ OBJ exporter needs presets and skip modifiers.Aras Pranckevicius
This patch, D14303, from Aras Pranckevicius adds presets to the OBJ exporter, and also adds a checkbox (default on) to apply modifiers before export.
2022-03-21Fix T96452: Armature corrupted after undoing 'Join' operation.Bastien Montagne
Modified source Armature ID in the join operation was not properly tagged as such for the depsgraph (and therefore memfile undo).. Issue caused/revealed by rBe648e388874a. Should be backported to 3.1 should we make a corrective release.
2022-03-21Fix T96357: Issue clicking on stem of arrow gizmos to scale on axisCampbell Barton
Caused by 0cb5eae9d0617abedf745753c23061ddfcfd1416 which restored support for 3D depth when selecting gizmos - making it difficult to select single lines drawn in front of other gizmos. Previously the first hit was always used. Resolve by using a margin around arrow stems when selecting which was already done for 2D arrows.
2022-03-21Fix T94334: Area close operator crash in 3D view menuHans Goudey
This fixes the crash by removing the `do_view3d_header_buttons` handler. The code can work at a higher level here, using the operator for setting the select mode, which makes this patch a cleanup as well. The operator now has a description callback to add the custom description used for the behavior in its invoke method. Differential Revision: https://developer.blender.org/D13660
2022-03-21GPencil: Fix unreported select error in Normalize operatorAntonio Vazquez
The curve selection was wrongly checked.
2022-03-21Fix T96352: Gpencil crash using Normalize Thickness with CurvesAntonio Vazquez
The stroke curve data could be NULL.
2022-03-08Fix T95843: Invalid mesh runtime data after sculpt undov3.1.0Hans Goudey
When the geometry of the sculpt mesh was replaced when restoring from a full undo step, the runtime data was not cleared (including any normals, triangulation data, or any other cached derived data). In the report, only the invalid normals were observed. The fix is to simply clear these caches. Later they will be reallocated and recalculated if necessary. Since the whole mesh replaced here anyway, this should be a safe fix. Differential Revision: https://developer.blender.org/D14282
2022-03-07Fix T96195: f-curve factorized polynomial generator broken UIEthan-Hall
The polynomial parameters were not shown correctly. Differential Revision: https://developer.blender.org/D14254
2022-03-07Fix T95256: Crash when creating off-screen pose assetSybren A. Stüvel
Fix crash when creating a pose asset for which the file list entry in the asset browser is scrolled off-screen. Because of the off-screen-ness, it wasn't loaded into memory, which eventually caused an unexpected NULL pointer. The solution was to use a different function (`filelist_file_find_id`) that can reliably find the file list entry, after which the cache entry can be created. Reviewed by: Severin Differential Revision: https://developer.blender.org/D14265
2022-03-07Fix T95531: Draw y axis values in Driver EditorLeon Schittek
When drawing the driver editor, only skip drawing the "scrubbing area" and not the Y-axis values or the scroll bars. The issue was introduced in rBb3431a88465db2433b46e1f6426c801125d0047d to avoid drawing the playhead in the Driver Editor but also prevented the text on the y axis from being drawn. Reviewed by: Severin, sybren Maniphest Tasks: T95531 Differential Revision: https://developer.blender.org/D14022
2022-03-07Fix T95591: Crash on drawing with measure tool with tweak fallback toolCampbell Barton
Using press to activate the Tweak tool doesn't work well when used a fallback tool as the drag event is often used by the current tool - making it impossible not to select when dragging (unless the fallback tool is disabled entirely). Resolve this by using CLICK events when the Tweak tool is used as a fallback. Even though this avoids the crash, check for null-pointer de-reference since changes to the key-map shouldn't cause operators to crash. Note that the ability for operators to access a gizmo before it's fully initialized is a more general problem that should be addressed, but out of scope for a bug-fix. Reviewed By: zeddb, JulienKaspar, Severin Maniphest Tasks: T95591 Ref D14231
2022-03-07Fix T96205: Active shape key gets lost upon edit mode undoCampbell Barton
Regression in d961adb866cc2d7a95e4c6a7f06c49e346ec1abe, it's important that for the Mesh used for undo storage matches the shape-key instead of using the coordinates of the Basis key. Prior to bfdbc78466ac14d45f353db9aa39cb21bb962701 a different method of restoring the basis shape-key coordinates was used (restoring from the input `Mesh.mvert` array). When undo wrote the edit-mesh into the mesh this was always NULL so the basis shape keys coordinates were never used. Now a parameter has been added so undo can use the active shape for the meshes vertex coordinates. Reviewed By: sergey Maniphest Tasks: T96205 Ref D14258
2022-03-07Fix T96163: Image editor doesn't refresh when undo/redo.Jeroen Bakker
Undo would invalidate image owned GPU textures only. Textures that are owned by the editor were not refreshed. This patch would invalidate all the GPU textures by marking the whole image dirty. This can be improved later as we could add partial updates of GPU textures. Reviewed By: mont29 Maniphest Tasks: T96163 Differential Revision: https://developer.blender.org/D14259
2022-03-07Fix T96156: Snap to 3D cursor can't be undoneRichard Antalik
Caused by oversight in 2bcf93bbbeb. Operator returns `OPERATOR_CANCELLED` when it should return `OPERATOR_FINISHED`. Reviewed By: mano-wii, campbellbarton Differential Revision: https://developer.blender.org/D14243
2022-03-02Fix T96085: repeated evaluation of geometry nodes when nothing changedJacques Lucke
Differential Revision: https://developer.blender.org/D14216
2022-03-02Fix T95608: Mac issues with drag drop on multi-monitorGermano Cavalcante
Mousemove events are sent to windows. In Windows OS, almost all mousemove events are sent to the window whose mouse cursor is over. On MacOS, the window with mousemove events is always the active window. It doesn't matter if the mouse cursor is inside or outside the window. So, in order for non-active windows to also have events, `WM_window_find_under_cursor` is called to find those windows and send the same events. The problem is that to find the window, `WM_window_find_under_cursor` only has the mouse coordinates available, it doesn't differentiate which monitor these coordinates came from. So the mouse on one monitor may incorrectly send events to a window on another monitor. The solution used is to use a native API on Mac to detect the window under the cursor. For Windows and Linux nothing has changed. Reviewed By: brecht Differential Revision: https://developer.blender.org/D14197
2022-03-01Fix wrong object mode checking in snap codeGermano Cavalcante
The value of `OB_MODE_OBJECT` is 0, this makes it unsuitable as a bitflag. Issue pointed out at https://pvs-studio.com/en/blog/posts/cpp/0922/ Thanks to Andrey Karpov
2022-03-01Fix T95979: Bake doesn't update Image editor.Jeroen Bakker
2022-02-28Fix T96073: Don't remove links when inserting reroute nodesJacques Lucke
This was an oversight in rB06ac5992618a75c453e495e06af7c5faf30499a7.
2022-02-28Fix T95992: Crash Ancored strokes 2d texture painting.Jeroen Bakker
When using ancored stroked the diameter of the stroke can be 0 what leads to a division by zero that on certain platforms wrap to a large negative number that cannot be looked up. This fix will clamp the size of the brush to 1.
2022-02-25Fix (unreported) Outliner 'liboverride create hierarchy' applied on several IDs.Bastien Montagne
This operation can only be applied on one ID at a time, so only apply it to the active Outliner item, and not all the selected ones. Also renamed `Make Library Override` menu entry to `Make Library Override Single` to emphasis this is not the 'default expected' option for the user.
2022-02-25GPencil: Make Fill Dilate expand outside strokeAntonio Vazquez
To keep consistency with the new contract option, the dilate now expand the shape beyond the internal closed area. Note: This was committed only in master (3.2) by error.
2022-02-25GPencil: Fill Dilate using negative values contract the fill areaAntonio Vazquez
This is requested by artist for some animation styles where is necessary to fill the area, but create a gap between fill and stroke. Also some code cleanup and fix a bug in dilate for top area. Reviewed By: pepeland, mendio Differential Revision: https://developer.blender.org/D14082 Note: This was committed only in master (3.2) by error.
2022-02-24Fix T95969, T91856: bake AO to vertex color artifacts after ray offset removalBrecht Van Lommel
Without ray offsets intersections at neigbhoring triangles are found, as the ray start is exactly at the vertex. There was a small offset towards the center of the triangle, but not enough. Now this offset computation is moved into Cycles and modified for better results. It's still not perfect though like any offset approach, especially with long thin triangles. Additionaly, this uses the shadow terminate offset for AO rays now, which helps remove some pre-existing artifacts.
2022-02-24Fix: Crash switching between sculpt and edit modeHans Goudey
Also fix a couple other places where normals layers weren't properly tagged dirty or reallocated when the mesh changes. Caused by cfa53e0fbeed7178. When the size of a mesh changes, the normal layers need to be reallocated. There were a couple of places that cleared other runtime data with `BKE_mesh_runtime_clear_geometry` but didn't deal with normals properly. Clearing the runtime "geometry" is different from clearing the normals, because sometimes the size of the normal layers doesn't have to change, in which case simply tagging them dirty is fine.
2022-02-24Fix T95976: on cage GPU subdivision breaks X-ray selectionKévin Dietrich
When X-ray mode is active the selection is done using the mesh data to select what is closest to the cursor. When GPU subdivision is active with the "show on cage" modifier option, this fails as the mesh used for selection is the unsubdivided one. This creates a subdivision wrapper before running the selection routines to ensure that subdivision is available on the CPU side as well. Differential Revision: https://developer.blender.org/D14188
2022-02-24Fix 2D view NDOF panning requiring both axes to be non-zeroCampbell Barton
Possible fix for T86592.
2022-02-23Fix T95183: Cage gizmo axis unreliableRichard Antalik
`orient_matrix` was not initialized. Reviewed By: lichtwerk Differential Revision: https://developer.blender.org/D14167
2022-02-22Fix: Clear mesh runtime cache when adding elementsHans Goudey
Currently the RNA functions to add mesh elements like vertices don't clear the runtime cache of things like triangulation, BVH trees, etc. This is important, since they might be accessed with incorrect sizes. This is split from a fix for T95839.
2022-02-22Python: change behavior for CONSOLE_OT_indent_or_autocompleteCampbell Barton
Checking only the previous character broke import auto-completion.
2022-02-22Fix T93629: Reset to defaults undoes all steps when applied twiceCampbell Barton
Reset Defaults left the undo stack in an invalid state, with the active undo step left at the previous state then it should have been. Now the buttons own undo logic is used to perform undo pushes.
2022-02-22Fix (unreported): Issues with 'SNAP_NOT_SELECTED' for pose and edit modesGermano Cavalcante
This is a regression partially introduced in rB0a6f428be7f0. Bones being transformed into edit mode were snapping to themselves. And the bones of the pose mode weren't even snapping. (Curious that this was not reported).
2022-02-22Fix T44415: Shape keys get out of sync when using undo in edit-modeCampbell Barton
This is an alternate fix for T35170 since it caused T44415. Having the undo system manipulate the key-block coordinates is error prone as (in the case of T44415) there are situations when it's important to apply the difference with the original shape key. This reverts dab0bd9de65a9be5e8ababba0e2799f994d5d12f, and instead avoids the problem by not using the data in `Mesh.key` as a reference for updating shape-keys when exiting edit-mode. The assumption that the `Mesh.key` in edit-mode won't be modified until leaving edit-mode isn't always true. Leading to synchronization errors. (details noted in code-comments). Resolve this by using shape-key data stored in the BMesh. Resolving both T35170 & T44415. Details: - Remove use of the original vertices when exiting edit mode. - Remove use of the original shape-key coordinates when exiting edit-mode (except as a last resort). - Move shape-key synchronization into a separate function: `bm_to_mesh_key`. - Split the synchronization loop into two branches, depending on the existence of BMesh shape-key coordinates. - Always write shape-key values back to the BMesh CD_SHAPEKEY layers. This was only done in some cases but is now necessary for all shape-keys as these are used to calculate offsets where the `Mesh.key` was previously used. - Report a warning when the shape-key layer isn't found as this uses an imperfect method of restoring coordinates which should only be used as a last resort. Reviewed By: mont29 Ref D14127
2022-02-22Cleanup: clang-formatCampbell Barton