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
2021-12-07Fix T93563: Crash subdividing with overlapping tri and quadCampbell Barton
The first loop was left out when finding the split edge boundary. Error from f2138686d9d8c105ebf8884774fd7e4d8ff239a1.
2021-12-07Fix T93353: Reload Library Override file loses Constraints, take II.Bastien Montagne
When adding `INSERT` operations over RNACollection items, rna diffing code did not properly report the properties as not being equals. This in turn triggered the 'purge unused exiting override properties' mechanism, thus deleting the exitsting (valid) insert override property operation. NOTE: This should also be backported to 2.93, and probably 2.83. Reviewed By: sybren, jbakker Maniphest Tasks: T93353 Differential Revision: https://developer.blender.org/D13426
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 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 T89081: Freestyle noise seed of zero crashPhilipp Oeser
This leads to division by zero in Freestyle's NoiseShader which also crashes blender. Not sure if we really need a do_version patch for old files, as an alternative we could also force a positive number in the NoiseShader. This patch does not do either, just force a positive range in RNA from now on. Maniphest Tasks: T89081 Differential Revision: https://developer.blender.org/D13332
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-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-28Fix T93322: Freestyle Sinus Displacement Division by Zero CrashPhilipp Oeser
This happens if the Wavelength is set to 0.0f. Not sure if we really need a do_version patch for old files, as an alternative we could also force a slight offset in the SinusDisplacementShader. This patch does not do either, just force a positive range from now on. Maniphest Tasks: T93322 Differential Revision: https://developer.blender.org/D13329
2021-11-23Fix T93007: Cycles not updating for animated Object properties like colorBrecht Van Lommel
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-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-23Fix T92384: Wrong UV layers used with Boolean Modifier (Fast Solver)Campbell Barton
Ensure the layers from the source mesh are used instead of the object referenced by the boolean modifier.
2021-11-22Fix T93066: Alembic export ignores Mantaflow particlesPhilipp Oeser
`ABCPointsWriter::is_supported` already checked for valid particle system types (liquid, spray, foam, bubbles, ...). `AbstractHierarchyIterator::make_writers_particle_systems` did not create a writer for these though, so now bring these in line and also create writers for these.
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-22Fix potential crash opening 3.0 blend files in older versions.Bastien Montagne
Affects insertion of constraints or NLA tracks in liboverrides. In some cases, when opening newer post-3.0 .blend files, the source won't be found anymore, override apply code then needs to fail properly instead of crashing. Related to refactor from rB33c5e7bcd5e5.
2021-11-20Fix T92090: Eevee crash with Intel HD 4000 and macOS 10.15.7Brecht Van Lommel
A recent security update to macOS 10.15.7 causes crashes when using Eevee and various other 3D viewport features. It appears that glGenerateMipmap is broken, causing a crash whenever its commands are flushed/submitted to the GPU. Ideally this would be fixed in a driver update, however it's unlikely this will happen. Earlier macOS versions have been receiving security updates for 2 years, and that window has just passed for 10.15. Further, computers with these GPUs can't upgrade to a newer macOS version. As a workaround, disable mipmaps on these GPUs, by setting the mipmap max level to 0 and not calling glGenerateMipmaps. Effects like depth of field also use mipmaps, but fill in the mip levels by other means. In those cases we keep the mipmap level. Differential Revision: https://developer.blender.org/D13295
2021-11-17Version bump: 2.93.7-rcPhilipp Oeser
2021-11-16Version bump: 2.93.6-releasev2.93.6Philipp Oeser
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-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-02Fix T92608: Image Editor does not display stereo imagesPhilipp Oeser
Caused by own {rB5aa3167e48b2}. Related commit: {rBebaa3fcedd23}. For stereo renders, `BKE_image_is_multilayer` is true, however we seem to get to down to `space_image_gpu_texture_get` [where this is called] from `IMAGE_cache_init` with a NULL Image->RenderResult. So what then happens is that `BKE_image_multilayer_index` is called and even though it has an appropriate codepath for stereo, it earlies out and does not set multi_index correctly. Still a bit puzzled why RenderResult is NULL for a render, but since other places also check for a valid RenderResult before going down the _multilayer_ route (and doing _multiview_ instead), now do the same thing, BKE_image_multiview_index is now called in these cases (and seems to behave correctly, checked with layers and passes and all seems to display correctly, either in stereo or choosing individual eyes). thx @jbakker & @brecht for double-checking. Maniphest Tasks: T92608 Differential Revision: https://developer.blender.org/D13063
2021-11-02Fix T89777 EEVEE: Contact Shadows causes wrong shading in Reflection PlaneClément Foucault
The planar reflections being rendered at the same resolution as the HiZ max buffer, do not need any uv correction during raytracing. However, the GTAO horizon buffer being at output resolution do need the uv factors in order to match the pixels visible on screen. To avoid many complication, we increase the size of the GTAO texture up to the hiz buffer size. This way, if planar reflections need GTAO the texture is big enough. We change the viewport of the GTAO framebuffer for the main view in order to not have to modify Uvs in many places.
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-02Pass correct array size to BKE_object_material_remap_calcJacob Lewallen
This was patch D12460 from jlewallen and fixes T91339 and T90818.
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 missing null-terminator in BLI_string_join_arrayNKévin Dietrich
Although the documentation says so, the null-terminator was missing. This could cause crashes when logging shader linking errors as shader sources are empty in this case.
2021-11-02Fix T88766 EEVEE: Missing glossy reflections with Shader to RGB & SSR is active.Clément Foucault
This was due to the shading evaluation being outdated inside the ShaderToRGBA glsl code.
2021-11-02Fix T91398 Overlay: Camera BG jitter offset (regression)Clément Foucault
This was caused by camera background being rendered in world space, causing floating point imprecision issues when camera was far from origin. Adding a uniform to change vertex shader to process everything in viewspace to fix the problem.
2021-11-02Fix T92185: GPencil memory leak removing stroke from pythonAntonio Vazquez
The API was not removing the weights, points and traingulation data. Only it was removing the stroke itself.
2021-11-02Fix LLVM 12 symbol conflict with Mesa drivers, after recent Linux libs updateBrecht Van Lommel
2021-11-02Expose Color Management as argument for gpu.types.GPUOffScreen.draw_view3d()Gottfried Hofmann
Fix for https://developer.blender.org/T84227 The problem was that https://developer.blender.org/rBe0ffb911a22bb03755687f45fc1a996870e059a8 turned color management for offscreen rendering off by default, which makes it non-color-managed in some cases. So the idea here is that script authors get the choice wether they want color managed non-color-managed output. Thus this patch introduces a new argument do_color_management as a bool to gpu.types.GPUOffScreen.draw_view3d(). Reviewed By: jbakker Differential Revision: https://developer.blender.org/D11645
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-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-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-10-06Version bump: 2.93.6-rcJeroen Bakker
2021-10-05Versioin bump: 2.93.5-releasev2.93.5Jeroen Bakker
2021-09-27Fix building without audaspaceCampbell Barton
2021-09-27Fix 'WM_window_find_under_cursor'Germano Cavalcante
This function was not working if the window is partially out of screen space.