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: GPencil animated layer transforms evaluate wrong when identityPhilipp Oeser
Due to (optimization) checks in in `BKE_gpencil_prepare_eval_data` & `BKE_gpencil_update_layer_transforms`, updates were skipped if animation reached exact identity transforms. Now check if the matrix has changed additionally to gain proper updates. Unsure if this is the cheapest way to check for the animated state of layer transforms tbh, but I see similar checks elsewhere. Fixes T101164. Maniphest Tasks: T101164 Differential Revision: https://developer.blender.org/D16018
2022-10-03Fix T101109: Animation on nodes problems when dealing with Node GroupsPhilipp Oeser
Whenever animation on nodes was transfered to/from nodegroups (grouping/ ungrouping/separating) via BKE_animdata_transfer_by_basepath, it was possible to create new nodes with the same name (in the formerly same path -- see report for an example of this) and animation from the original node was still performed on them. Issue went away after save/ reload. In order to fully update the action, a depsgraph is now performed on the action (similar to what is done when renaming for example). Maniphest Tasks: T101109 Differential Revision: https://developer.blender.org/D15987
2022-04-19Correct error in 405bff7fd8ed5df8d44a1362763fac7c00e2060bCampbell Barton
Was adding 1 to dietime twice in init_particle_interpolation.
2022-04-19Fix T68290: Baked particles don't render in final frameCampbell Barton
Particles baked into memory would never load the final frame because of an off-by-one error calculating the particles `dietime`. This value indicates the frame which the particle ceases to exist but was being set to the end-frame which caused this bug as the scenes end-frame is inclusive. While the last frame was properly written and read from memory, the `dietime` was set to the last frame causing all the particles to be considered dead when calculating the cached particle system.
2022-02-21Fix T95601: Missing handling of keyingsets ID pointers in ↵Bastien Montagne
lib_query/foreach_id code Fix T95601: Missing handling of keyingsets ID pointers in lib_query/foreach_id code. This will have to be backported to 2.93 and possibly 2.83 if possible.
2022-02-21Fix T95137: Spline calc_length not working with just 1 NURB pointJesse Yurkovich
The NURB case did not properly handle a curve with only 1 point. Ref D13904
2022-01-17Fix T94837: curve tilt on a 2-point-curve is wrongPhilipp Oeser
2-point-curves are treated separately from 3plus-point-curves (assume a lot of the twisting reduction can be skipped, so there is a dedicated function for single segment curves). And while using the 3plus-point-curves function [`make_bevel_list_3D`] would actually work in this case, the dedicated function `make_bevel_list_segment_3D` would only consider the tilt of the second point and would just copy over the quat to the first point as well. Dont see a reason for this, now consider the first point's tilt as well. Maniphest Tasks: T94837 Differential Revision: https://developer.blender.org/D13813
2022-01-17Fix T91005: Autosplit produces unusable filesRichard Antalik
Audio PTS was reset for each new file. This caused misalignment of video and audio streams. In Blender, these files can't be loaded, other players will fail to align audio and video. Since timestamps are reset intentionally, reset also video stream timestamps. There were other bugs: After timestamp was reset for audio, write_audio_frames started encoding from timeline start until target frame, so each split video had more audio than it should. Also audio for last frame before splitting was written into new file. Differential Revision: https://developer.blender.org/D13280
2022-01-11Fix T94544: crash removing image used as camera background via pythonPhilipp Oeser
Since 2.8, background images are tied to cameras (in 2.79 these were tied to a View3D I think). Code in `BKE_library_id_can_use_idtype` wasnt taking this relation between `Camera` and `Image` into account, thus leading to ID deletion/ unlinking not working properly -- in particular `libblock_remap_data` not doing its thing (and leaving the camera as a user of the image), then things went downhill from there... Now make the "Camera-can-use-an-Image" relation clear in `BKE_library_id_can_use_idtype`. Maniphest Tasks: T94544 Differential Revision: https://developer.blender.org/D13722
2022-01-11Fix T91012: Scene strip doesn't play audioRichard Antalik
Issue was caused by adding `seq->sound` check in ded68fb10275 in function `BKE_sound_scene_add_scene_sound` as `offset_time` field was introduced to resolve sub-frame a/v misalignment. Scene strips don't have `bSound` allocated but also don't suffer from a/v misalignment. Remove `seq->sound` check and don't apply any offset for scene strips. Reviewed By: zeddb, sergey Differential Revision: https://developer.blender.org/D12819
2021-12-07Fix T89564: Spline IK breaks when it is far away from the world originSebastian Parborg
The isect_line_sphere algorithm became very imprecise when the line and the sphere were reasonably far away from the world origin. This would lead to no intersections being reported even if there was a guaranteed intersection (line crossing from inside the sphere to the outside). To fix this we now use the secant root finding method to get an intersection point. This is much more stable and robust it seems.
2021-11-28Fix T93338: Curve Guide force field crashPhilipp Oeser
Caused by {rBcf2baa585cc8}. For Curve Guide force fields to work, the `Path Animation` option has to be enabled. With it disabled, we are lacking the necessary `anim_path_accum_length` data initialized [done by `BKE_anim_path_calc_data`] which `BKE_where_on_path` relies on since above commit. Now just check for this before using it - and return early otherwise. Prior to said commit, `BKE_where_on_path` would equally return early with a similar message, so that is expected behavior here. Maniphest Tasks: T93338 Differential Revision: https://developer.blender.org/D13371
2021-11-23Fix T89260: Eevee crashes with custom node sockets.Jeroen Bakker
Cause of this issue is that Custom Node Sockets info type was initialized as SOCK_FLOAT when registering. Areas within the core that would ignore custom socket types by checking its type would use the socket as being a float type. When custom node sockets have a property called default_value blender tries to store it as an internal default value what failed in debug builds. This patch will set the socket type to SOCK_CUSTOM when registering a custom socket type and allow, but skip storage of custom default values. In this case the default values should already be stored as custom properies. Reviewed By: campbellbarton, JacquesLucke Maniphest Tasks: T89260 Differential Revision: https://developer.blender.org/D13174
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-04Fix T89516: Crash on appendJulian Eisel
Caused by 37458798fa02, was doing a NULL-pointer dereference because it used the wrong pointer to check if the data-block is linked.
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-02VSE: Implement sanity check for files with more channels than supportedDalai Felinto
This is a follow up to 8fecc2a8525467ee2fbbaae16ddbbc10b3050d46. This makes sure future .blend files that have more channels than the limit won't break Blender. For LTS this happens silently, without warning the users. This is part of https://developer.blender.org/D12645 Differential Revision: https://developer.blender.org/D12648
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-09-27Fix building without audaspaceCampbell Barton
2021-09-27Fix default surface resolution U/V mis-matchCampbell Barton
The resolution for surfaces was 12 for U, 4 for V, where both should have been set to 4. Regression in 9a076dd95a01135ea50f9ccc675668db9f2155f4
2021-09-22Fix T89241: Scale to fit overflows into a second lineCampbell Barton
2021-09-06Fix T91159: GPencil Smooth brush is using Affect Pressure but not usedAntonio Vazquez
The parameter wa sin the UI but was not used because it was replaced by Use Thickness.
2021-09-06Fix T91060: GPencil Time Offset Modifier breaks evaluation timePhilipp Oeser
Caused by {rBf3bf87e5887c}. When using a GPencil Time Offset Modifier, the bGPDlayer>actframe can be NULL. This can be determined though, but above optimization commit skipped getting the active frame in this case entirely (with the intention to only get it if framenumbers did not match). Now also call BKE_gpencil_layer_frame_get() if actframe is NULL in order to fetch a valid one if present. Maniphest Tasks: T91060 Differential Revision: https://developer.blender.org/D12355
2021-08-25FFMPEG: Fix building with older versions that need ↵Sebastian Parborg
FFMPEG_USE_DURATION_WORKAROUND
2021-08-25VSE: Flush audio encode after finishing video exportSebastian Parborg
We didn't flush audio after encoding finished which lead to audio packets being lost. In addition to this the audio timestamps were wrong because we incremented the current audio time before using it. Reviewed By: Richard Antalik Differential Revision: http://developer.blender.org/D11916
2021-08-23Add sanity NULL checks when loading sound sequencesSebastian Parborg
Would cause crashes in files that had lingering invalid sound sequences around. For example our tests/render/volume/fire.blend test file.
2021-08-23VSE: Fix audaspace not reading ffmpeg files with start offset correctlySebastian Parborg
The duration and start time for audio strips were not correctly read in audaspace. Some video files have a "lead in" section of audio that plays before the video starts playing back. Before this patch, we would play this lead in audio at the same time as the video started and thus the audio would not be in sync anymore. Now the lead in audio is cut off and the duration should be correctly calculated with this in mind. If the audio starts after the video, the audio strip is shifted to account for this, but it will also lead to cut off audio which might not be wanted. However we don't have a simple way to solve this at this point. Differential Revision: http://developer.blender.org/D11917
2021-08-23VSE: Fix "off by one" error when encoding audioSebastian Parborg
Before we didn't encode the audio up until the current frame. This lead to us not encoding the last video frame of audio. Reviewed By: Richard Antalik Differential Revision: http://developer.blender.org/D11918
2021-08-23Fix T89805: NLA crash without active trackPhilipp Oeser
Was reported for a file which does not have an active track set in AnimData even though it was in strip twek mode (but this was accessed in is_nlatrack_evaluatable()). Root cause for this is not totally clear, but I assume the situation is described as part T87681 (and is fixed in D11052). This patch here just prevents the crash for files that are already in the borked state. Reviewers: sybren Maniphest Tasks: T89805 Differential Revision: https://developer.blender.org/D12085
2021-08-23Fix T88033: Python reference memory leaks for non main data-blocksCampbell Barton
ID data-blocks that could be accessed from Python and weren't freed using BKE_id_free_ex did not release the Python reference count. Add BKE_libblock_free_data_py function to clear the Python reference in this case. Add asserts to ensure no Python reference is held in situations when ID's are copied for internal use (not exposed through the RNA API), to ensure these kinds of leaks don't go by unnoticed again.
2021-08-23Fix T89241: 3D Text "Scale to Fit" wraps onto the second lineCampbell Barton
Disable wrapping when "scale to fit" is used, assert the error is small so an invalid scale-to-fit value wont go by unnoticed.
2021-08-23Cleanup: rename BKE_mesh_free -> BKE_mesh_free_dataCampbell Barton
It wasn't obvious this didn't free the memory of the mesh it's self leading to memory leaks.
2021-08-23Fix memory leak with building springs in the cloth simulatorCampbell Barton
Error in 2788b0261cb7d33a2f6f2978ff4f55bb4987edae.
2021-08-09Fix T83164: Spline IK `joint_bindings` parameter is broken.Bastien Montagne
Code freeing the array would not properly reset its length value to zero. Note that this corrupted data could also be saved in .blend files, so had to bump fileversion and add some doversion code too. Fix T90166: crash when creating a liboverride.
2021-08-09Fix T89835: Crash after Instancing to Scene after making linked Collection ↵Bastien Montagne
local. Even though the ID itself remain the same after being made local, from depsgraph point of view this is a different ID. Hence we need to tag all of its users for COW update, as well as rebuild depsgraph relationships. Should be also backported to LTS 2.93 (and 2.83 if possible).
2021-08-09Fix T90417: font loading creates duplicate ID namesCampbell Barton
Also repair any errors in existing files. Error from e0dd3fe5872ba37ff188e292b80b46fcf8df413c.
2021-07-26Fix T89455: Cycles crash when rendering a Mesh with autosmoothKévin Dietrich
The crash was caused by a mistake in 5f9677fe0c533b008b815d7fee0b56509a414ab7 where the pointers to the custom data layers would be overwritten with the one for the first layer, as CustomData_duplicate_referenced_layer is only about the first layer. customData_duplicate_referenced_layer_index should be used instead to duplicate the right layer.
2021-07-26Fix T88756: crash when baking with autosmoothKévin Dietrich
When baking some data, we create a new Mesh with edits and modifiers applied. However, in some cases (e.g. when there is no modifier), the returned Mesh is actually referencing the original one and its data layers. When autosmooth is enabled we also split the Mesh. However, since the new Mesh is referencing the original one, although `BKE_mesh_split_faces` is creating new vertices and edges, the reallocation of the custom data layers is preempted because of the reference, so adding the new vertices and edges overwrites valid data To fix this we duplicate referenced layers before splitting the faces. Reviewed By: brecht Differential Revision: https://developer.blender.org/D11703
2021-07-07Fix T89153: Follow Path for empty works only in negative valuesSebastian Parborg
The old code only clamped cyclic curves
2021-06-30Fix T88623, T87044: Make encoded videos play correctly in VLCSebastian Parborg
The issue was two fold. We didn't properly: 1. Initialize the codec default values which would lead to VLC complaining because of garbage/wrong codec settings. 2.Calculate the time base for the video. FFmpeg would happily accept this but VLC seems to assume the time base value is at least somewhat correct and couldn't properly display the frames as the internal time base was huge. We are talking about 90k ticks (tbn) for one second of video! This patch initializes all codecs to use their default values and fixes the time base calculation so it follows the guidelines from ffmpeg. Reviewed By: Sergey, Richard Antalik Differential Revision: http://developer.blender.org/D11426
2021-06-30Make encoded video fps correct with ffmpeg < 4.4Sebastian Parborg
Before the FFmpeg commit: github.com/FFmpeg/FFmpeg/commit/1c0885334dda9ee8652e60c586fa2e3674056586 FFmpeg would use deprecated variables to calculate the video fps. We don't use these deprecated variables anymore, so ensure that the duration is correct in ffmpeg versions without this fix. Reviewed By: Sergey, Richard Antalik Differential Revision: http://developer.blender.org/D11417
2021-06-30Cleanup: Remove deprecated variables and functions calls from our ffmpeg codeSebastian Parborg
There need to be more cleanup for ffmpeg 4.5 (ffmpeg master branch). However this now compiles on ffmpeg 4.4 without and deprication warnings. Reviewed By: Sergey, Richard Antalik Differential Revision: http://developer.blender.org/D10338
2021-06-16Fix modifier deform by armature check ignoring virtual modifiersCampbell Barton
Regression in f00cb93dbec7bf5dc05302c868f20fcd5aed7db7 (fix for T63125)
2021-06-09Texture Paint: changing paint slots and viewport could go out of syncPhilipp Oeser
When changing to another texture paint slot, the texture displayed in the viewport should change accordingly (as well as the image displayed in the Image Editor). The procedure to find the texture to display in the viewport (BKE_texpaint_slot_material_find_node) could fail though because it assumed iterating nodes would always happen in the same order (it was index based). This is not the case though, nodes can get sorted differently based on selection (see ED_node_sort). Now check the actual image being referenced in the paint slot for comparison. ref T88788 (probably enough to call this a fix, the other issue(s) mentioned in the report are more likely a feature request) Reviewed By: mano-wii Maniphest Tasks: T88788 Differential Revision: https://developer.blender.org/D11496
2021-06-09Fix T88531: Mantaflow problem with geometry nodesPhilipp Oeser
Objects modified by geometry nodes modifiers were not caught as being "dynamic". Now add this modifier type to the list of modifiers making them "dynamic" in the eyes of mantaflow. (noticed by @sebbas in chat) Maniphest Tasks: T88531 Differential Revision: https://developer.blender.org/D11389
2021-06-09Fix T88566: Mantaflow inflow with shapekeys is not working anymorePhilipp Oeser
(regression) Code was actually checking for shapekeys, but these were not detected properly (some effects like shape keys are added as virtual modifiers before the user created modifiers) Now go over virtual modifiers as well. Maniphest Tasks: T88566 Differential Revision: https://developer.blender.org/D11388
2021-05-31Fix (studio-reported) crash in collection management code.Bastien Montagne
Code checking for potential collection loop dependencies can be called in cases where we cannot guarantee that there is no NULL pointers, so we need to check those. Was already done for objects. NOTE: doubled-checked by @jbakker, thanks.
2021-05-26Fix: GPencil mask shows in view layer renderFalk David
Currently when rendering the view layer of a grease pencil layer that has a mask layer attached, the mask layer would show in the rendered image. This is inconsistent with the default behaviour with no mask on the grease pencil layer, because it would only render what's on that particular layer and not anything from any other layer. This patch makes the masks invisible in the render. Note: This might seem like not the best solution, but because masks are just regular grease pencil layers, it's tricky to pass this edge-case to the drawing code. The way it is handled right now is the best I could come up with, without making changes that could affect something else. Reviewed By: antoniov Maniphest Tasks: T88202 Differential Revision: https://developer.blender.org/D11403
2021-05-20Fix T87854: Add clamp option to Path AnimationSebastian Parborg
Previously, the "follow path constraint" and "follow parented curve" were clamped. This restriction was lifted in rBcf2baa585cc8 Add back an option to get the old behavior in the "Path animation" settings. Reviewed By: Sybren Differential Revision: http://developer.blender.org/D11263