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-10-03Fix T101046: missing DEG update changing bone layers in editmodePhilipp Oeser
Following {T54811} (and {rBbb92edd1c802}), DEG updates have been added to the various operators. This has also been done for the layers operators (see {rBf998bad211ae}, `ARMATURE_OT_bone_layers` has been marked done in T54811). However, instead of `ARMATURE_OT_bone_layers`, the update tagging actually happened for `POSE_OT_bone_layers`. Now do this for `ARMATURE_OT_bone_layers` as well (keep it for `POSE_OT_bone_layers`, dont think this is wrong there either). Maniphest Tasks: T101046 Differential Revision: https://developer.blender.org/D15969
2022-10-03Fix T100606: Apply object transform fails with delta quaternion rotationCampbell Barton
Apply transform failed to clear delta quaternion & axis-angle rotation.
2022-10-03Fix T99070: Apply transform fails to clear delta transform valuesPratik Borhade
Clear delta transform value after applying transform. Include delta location while applying transform. Use `copy_v3_fl` for resetting object scale Reviewed By: mano-wii Maniphest Tasks: T99070 Differential Revision: https://developer.blender.org/D15270
2022-09-19Fix T100851: Sync markers does not work for numinputPhilipp Oeser
special_aftertrans_update would always use TransInfo values (not the values_final -- we need the final values to follow numinput, snapping, etc). Maniphest Tasks: T100851 Differential Revision: https://developer.blender.org/D15893
2022-09-19Fix T99979: GPencil strokes cannot be edited after set originAntonio Vazquez
The stroke points were changed but the bounding box calculation was not done and this produced a problem in any bounding box check done by different tools.
2022-04-19Fix T85467: Mask transform center doesn't take parent Track into accountPhilipp Oeser
Coordinate checks in `spline_under_mouse_get` need to take place with the evaluated mask to get the right center. This is now more in line to how this is done in `ED_mask_point_find_nearest`. Note: similar issues are reported with box/circle/lasso selection in T97135, will tackle these separately though. Maniphest Tasks: T85467 Differential Revision: https://developer.blender.org/D14598
2022-04-19Fix T97135: Fix selection issues with parented masks in the MCEPhilipp Oeser
Box, Circle and Lasso select were not taking into account if a mask(point) was parented; selection was only succeeding in the original place. Now check coordinates from evaluated mask (points) instead while setting selection flags and DEG tagging still happens on the original ID. Maniphest Tasks: T97135 Differential Revision: https://developer.blender.org/D14651
2022-04-19Fix 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 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-24Fix T96195: f-curve factorized polynomial generator broken UIEthan-Hall
The polynomial parameters were not shown correctly. Differential Revision: https://developer.blender.org/D14254
2022-02-21Fix T95787: Texture paint: Apply Camera Image crash for certain imagesPhilipp Oeser
This does not happen with **any** image, but with images that have ID properties. ID properties are used to store view projection matrices (e.g. for reprojection with `Image from View` or `Quick Edit` -- these are the ones we are interested in), but of course they can be used for anything else, too. The images in the file from the report have ID properties from an Addon for example. So the crash can reliably be reproduced with **any** image doing the following: ``` bpy.data.images['myImage']['myIDprop'] = "foo" ``` This would lead code in `texture_paint_camera_project_exec` to think the needed `view_data` is on the image (but in reality it was just some other IDprop). Solution is simple: just check `view_data` is really valid after getting it from the IDprops. Maniphest Tasks: T95787 Differential Revision: https://developer.blender.org/D14116
2022-02-21Cleanup: Avoid possible NULL pointer errorAntonio Vazquez
In normal conditions, `gpf` always has a value, but better move inside the NULL checking.
2022-01-17Fix T94089: GPencil Drawing don't Update after paste in DopesheetAntonio Vazquez
When paste new frames, the datablock need to be tagged to update the drawings.
2022-01-17Fix T94903: GPencil: Copying keys doesn't preserve Keyframe TypeAntonio Vazquez
When a new frame is created, ensure the keytype of source key is used.
2022-01-17Fix T94799: GPencil Strokes drawn at 0.0 Strength still visibleAntonio Vazquez
There was a clamp with a value greater than 0.
2022-01-11Fix `PSYS_GLOBAL_HAIR` stripped even if connecting the hair failsAleksi Juvani
After disconnecting hair on an object, if you then hide the particle system, and try connecting the hair again, the operator is cancelled due to `remap_hair_emitter` returning `false` because `target_psmd->mesh_final` is NULL, but `connect_hair` will still strip the `PSYS_GLOBAL_HAIR` flag, which will cause the hair in the hidden particle system to be positioned incorrectly. The correct behavior is to strip the flag only if `remap_hair_emitter` succeeds. Differential Revision: https://developer.blender.org/D13703
2022-01-11Fix: connecting hair fails on meshes with no generative modifiersAleksi Juvani
Fixes a bug introduced in rB5dedb39d447b. `mesh_original` is not set if the mesh has no generative modifiers, in which case we can use `mesh_final`, which would seem to be consistent with the rest of the particle code. An alternative approach would be to make sure that `mesh_original` is always set in `deformVerts`. Differential Revision: https://developer.blender.org/D13754
2022-01-11Fix T54488: hair disconnect/reconnect not working with modifiersAleksi Juvani
Take the Use Modifier Stack setting into account when connecting hair, and fix wrong results results when using deforming modifiers also. Differential Revision: https://developer.blender.org/D13704
2022-01-11Fix T94137: GPencil: Eraser does not erase first pointPhilipp Oeser
The eraser checks the current, previous and next point (and sets pc0, pc1 & pc2 corresponding to that for futher occlusion/brush/clipping checks). For the very first point, it sets pc0 to pc1 [which makes sense, there is no previous point, so we should assume the previous segment is "visible" as soon as the first point is], but does so *before* pc1 is even calculated. This makes following occlusion/brush/clipping checks work with zero values [which leads to no earsing in most cases]. Now *first* calculate pc1, *then* set pc0 to pc1. Maniphest Tasks: T94137 Differential Revision: https://developer.blender.org/D13593
2022-01-11Fix T94635: Sculpt Smooth in Surface mode with Anchored Stroke crashPhilipp Oeser
Sculpt Smooth in Surface mode (as opposed to Laplacian) needs a cache initialized on first time. In anchored stroke mode with spherical falloff this was skipped though (because this starts of with no PBVH nodes and an early return checks for this) and `first_time` was set to false before cache initialization. Now move the cache initalization to happen earlier (same as the cache initialization for automasking). Maniphest Tasks: T94635 Differential Revision: https://developer.blender.org/D13746
2022-01-11Fix T94564: Mirror clipping is not properly placed in sculpt modePhilipp Oeser
If a mirror object is used in a mirror modifier, sculptmode did not take this into account (and instead always clipped on the sculpt objects local axis). Now take this into account by storing a matrix in the preparation function `sculpt_init_mirror_clipping` and use that later in `SCULPT_clip`. Maniphest Tasks: T94564 Differential Revision: https://developer.blender.org/D13711
2022-01-11Fix T94109: 3d cursor crash when using shortcutGermano Cavalcante
Operator was erroneously starting edge_slide operation. Revert part of the changes in rB3fab16fe8eb4 as obedit_type was being confused with object_mode.
2021-12-08Fix T91680: viewport selection broken in macOS x86 build with Xcode 13Brecht Van Lommel
There is an apparent compiler bug here, tweak the code to avoid it. This did not affect official builds as we were still using Xcode 12.
2021-12-07Fix T92043: Relax/Push Pose does nothing for quaternion rotation.Alexander Gavrilov
As can be confirmed by checking generic code for this operation, it is supposed to blend between the result of Breakdown based on actual frame range, and the current pose. However for some reason the quaternion specific code was blending between the current pose and the current keyframed pose. This means that the operation does nothing if invoked without modifying the pose first. This rewrites the code to match the non-quaternion behavior. Differential Revision: https://developer.blender.org/D13030
2021-11-28Fix T93290: Rotation without contraint after extrude has wrong axisGermano Cavalcante
The default orientation of the mode was being indicated as overridden, although the one of constraint was used.
2021-11-28Fix T93130: Frame Selected with selected paint mask does not workPhilipp Oeser
This broke with {rB20fac2eca723} (which landed in 2.63), so long standing bug. Convention for paint modes is: - when no paint mask is active, `Frame Selected` will focus the last stroke - when paint mask is active, `Frame Selected` will focus the selected mask faces To check the right vert coords we have to offset with `mp->loopstart`. Maniphest Tasks: T93130 Differential Revision: https://developer.blender.org/D13247
2021-11-28Fix T93117: Texture paint clone tool crash in certain situationPhilipp Oeser
Caused by {rBaf162658e127}, so long standing bug. When changing clone slots (report involved a quite complicated sequence of selecting textures and undo -- but I think this could happen in more situations) code checks for UV of new clone slot. However, since above commit the slot and the clone slot were mixed up, so in this case the responsible NULL check (for when no UV is assigned) wasnt working. Now correct this (NULL check the clone slot uv -- instead of the paint slot UV). note: not sure why low level CustomData functions actually dont do the name NULL checks themselves (seems like callers are always responsible). Maniphest Tasks: T93117 Differential Revision: https://developer.blender.org/D13378
2021-11-23Fix T93198: Frame Selected in greasepencil curve editing does not workPhilipp Oeser
Was not taking into account curve points at all. Maniphest Tasks: T93198 Differential Revision: https://developer.blender.org/D13281
2021-11-23Fix T93194: greasepencil channel lists ignoring collection visibilityPhilipp Oeser
Same fix as rB0a3b4d4c64f1, but this time for greasepencil. To repeat: dopesheet in greasepencil mode was ignoring the temporariy visibility flag of collections. As a result, even though the dopesheet was supposed to show animation data of visible greasepencils only was still showing such data of greasepencils that were hidden by hiding their collection.
2021-11-22Fix T93074: Gpencil cutter not using flat caps in middle cutsAntonio Vazquez
When cut an stroke using the option Flat Caps, the falt was not done if the cut was done in the middle of the stroke. Now the flat is applied to the segments created and also some cleanup of the code done.
2021-11-22Fix T92760: Crash erasing GPencil when occlusion test is enabledGermano Cavalcante
`pt0` was read when `NULL` and `is_occluded_pt1` could be read even if it is not initialized.
2021-11-22GPencil: Speed up Occlude EraserAntonio Vazquez
This is an initial change to speed up the calculation of the Occlude eraser. In the future, we can add more optimizations, but at least this increase speed. Intead to check always the 3 points, the check is skipped if it's not required. Base in a solution by Philipp Oeser. This is related to T88412
2021-11-10Fix T92807: Incorrect display planar tracking.Jeroen Bakker
Issue introduced in {7e66616b7e15} where the shader was replaced with a 2d image shader. This patch reverts several commits that removed the 3d image shader.
2021-11-10Fix T92515: Incorrect translation when scaling pose bonesCampbell Barton
2021-11-02Fix missing proper 'make local' call for liboverrides from outliner.Bastien Montagne
Also includes minor improvements to `BKE_lib_override_library_make_local` itself. This is a complement to rB37458798fa02c.
2021-11-02LibOverride: Fix crash in ShapeKeys when making a mesh override local.Bastien Montagne
Weird 'embedded for overrides' flag of embedded IDs (including ShapeKeys in override context) was not properly cleaned up when making an override fully local. Reported by studio, thanks. @jbakker should be backported to 2.93LTS if possible.
2021-11-02Fix T92355: Quadriflow crashes with zero length edgesSebastian Parborg
Add a check for zero length edges to the manifold check as quadriflow doesn't handle meshes with these.
2021-11-02Fix T91411: Outliner crash using contextmenu operators from a shortcutPhilipp Oeser
Oversight in {rBb0741e1dcbc5}. This was guarded by an assert in `get_target_element`, but it can be valid to have these assigned to a shortcut (and then perform the action without an active outliner element). Now remove the assert and let the operator polls check if we really have a target element. note: this basically makes `get_target_element` obsolete, could call `outliner_find_element_with_flag` instead in all cases. Maniphest Tasks: T91411 Differential Revision: https://developer.blender.org/D12495
2021-11-02Fix T92265: Outliner crash clicking override warning buttonsPhilipp Oeser
`outliner_draw_overrides_buts` uses `uiDefIconBlockBut` but doing so without defining a function callback to actually build a block. This will make the button go down the route of spawning a popup, but without a menu. Crash then happens later accesing the (missing) menu in `ui_handler_region_menu`. So while we could dive into making this usage failsafe (carefully checking `BUTTON_STATE_MENU_OPEN` in combination with `uiHandleButtonData->menu` being NULL all over), but it seems much more straightforward to just use `uiDefIconBut` (instead of `uiDefIconBlockBut`) since this Override Warning buttons seem not to intend spawning a menu anyways? Maniphest Tasks: T92265 Differential Revision: https://developer.blender.org/D12917
2021-11-02Fix T92314: Auto naming of the Vertex Group doesn't work for GreasePhilipp Oeser
Pencil Not naming the auto-generated vertexgroup after the selected bone was just confusing (since the group would not have an effect), so now use similar code that is used for meshes for greasepencil as well. Maniphest Tasks: T92314 Differential Revision: https://developer.blender.org/D12906
2021-11-02Fix T92246: sculpt crash displaying statistics in certain situationsPhilipp Oeser
It seems possible to switch object selection (if `Lock Object Modes` is turned off) and end up with an object that has a SculptSession but a NULL PBVH. (I was not able to repro from scratch, but file from the report was clearly in that state). This would crash in displaying scene statistics. While there might be a deeper fix (making sure PBVH is available early enough -- possibly using `BKE_sculpt_object_pbvh_ensure`, `sculpt_update_object` or friends), there are also many checks in tools for PBVH, so the situation seems to be somewhat vaild/expected also in other places. So to fix this, just check for a non-NULL PBVH, returning early otherwise. Note: this leaves us with displaying 0/0 Faces & Vertices in the borked case until an operation takes place that updates the PBVH. Maniphest Tasks: T92246 Differential Revision: https://developer.blender.org/D12904
2021-11-02Fix T89164: Sculpt "Smooth" brush crash with zero pressurePhilipp Oeser
Caused by {rB3e5431fdf439} Issue is that sculpting could start with using `SCULPT_smooth` and (because of the Pressure sensitivity dropping to zero) code would switch to `SCULPT_enhance_details_brush` at strength zero. Issue with this though is that this can be in the middle or end of a stroke and the necessary `ss->cache->detail_directions` are only initialized for the first brush step (see `SCULPT_stroke_is_first_brush_step` in `SCULPT_enhance_details_brush`). With these missing, it could only go downhill from there. Suggest to prevent the "mode-flip" from `SCULPT_smooth` to `SCULPT_enhance_details_brush` (happening solely because of pressure strength) by changing the condition. Now do `SCULPT_enhance_details_brush` only if strength is **below** zero and `SCULPT_smooth` else (flipping from enhance_details to regular smooth is fine). If inverting the brush in the middle of the stroke will be supported at some point, the codepath of `smooth` would have to inform the cache that invert changed and detail_directions would have to be initialized then (even if not at the start of the stroke). Maniphest Tasks: T89164 Differential Revision: https://developer.blender.org/D12676
2021-11-02Fix T91237: Wrong Editors could sync animation 'Visible Range'Philipp Oeser
This was reported for the Outliner. It was possible to set 'show_locked_time' on any space (via python, not sure if there are other ways to achieve this). Navigating in an animation editor obviously ruined the layout in certain Editors that are not made for this. Now restrict syncing to editors that support it well (the ones that have this setting exposed in their menus) and prevent setting this in RNA. Maniphest Tasks: T91237 Differential Revision: https://developer.blender.org/D12512
2021-11-01Fix T90840: Can't duplicate or copy (Ctrl-C) object from linked file.Bastien Montagne
We need to separate the flag telling duplicate code to not handle remapping to new IDs etc., from the one telling the code that we are currently duplicating a 'root' ID (i.e. not a dependency of another duplicated ID). This whole duplicate code/logic is still fairly unsatisfying, think it will need further refactor, or maybe even re-design, at some point...
2021-11-01Fix T87703: Failed assert when dragging object data-block into 3D ViewJulian Eisel
Talked with Bastien and we ended up looking into this. Issue is that the dupliation through drag & drop should also be considered a "sub-process", like Shift+D duplicating does. Added a comment explaining why this is needed.
2021-09-27Fix T91557: Texture Paint Stencil doesnt use assigned UV LayerPhilipp Oeser
Choosing a UV layer would actually affect the overlay in the viewport and also painting with the mask brush was in that UV space, but the resulting stencil mask was always applied with the active UV (not the explicitly selected stencil UV -- the one one is looking at in the viewport!) to painting. This has been like that as far as I have checked back (at least 2.79b), I am surprised this has not come up before, but it does not seem to make sense at all... Now use the UV specified for the stencil layer when applying the mask for painting, so it corresponds to the stencil mask one is looking at in the viewport. Maniphest Tasks: T91557 Differential Revision: https://developer.blender.org/D12583
2021-09-22Fix T91534: GPencil interpolate Sequence fails if stroke has 0 pointsAntonio Vazquez
In some cases the stroke has 0 points and this must be skipped in the interpolation.
2021-09-06Fix "Text to Object" creating invisible objectCampbell Barton
Newly created objects would not become visible until another action forced a depsgraph update.
2021-09-06Fix buffer size mismatch in SCRIPT_OT_python_file_runCampbell Barton
Reading paths over 512 bytes would cause a buffer overrun.
2021-08-23VSE: Use lines to draw waveformSebastian Parborg
Refactor and improve waveform drawing. Drawing now can use line strips to draw waveforms instead of only triangle strips. This makes us able to properly visualize thin waveforms as they would not be visible before. We now also draw the RMS value of the waveform. The waveform drawing is now also properly aligned to the screen pixels to avoid flickering when transforming the strip. Reviewed By: Richard Antalik Differential Revision: https://developer.blender.org/D11184