Commit Graph

74068 Commits

Author SHA1 Message Date
Sergey Sharybin
cbbbb9d179 Fix wrong DNA alignment on arm{el,hf} and mipsel
Technically, pointers are to be padded with followup pointer.
2020-01-22 15:34:27 +01:00
Richard Antalik
a60a623a1a Fix T69921: VSE - Waveforms unnecessary redrawn on offset change
Waveform is freed in `sound_load_audio()` when sound length is `queried by BKE_sound_info_get()`.

Add argument free_waveform, so `BKE_sound_info_get()` can skip waveform freeing, as it is not expected to alter sound.

Reviewed By: sybren

Differential Revision: http://developer.blender.org/D6053
2020-01-22 13:36:55 +01:00
Richard Antalik
3119a014a6 Fix T70415 100% proxy files playing with poor performance
Refactor code to use `eSpaceSeq_Proxy_RenderSize` or corresponding `IMB_Proxy_Size`
enum items directly.

`SEQ_PROXY_RENDER_SIZE_100` has assigned value 99 to distinguish from `SEQ_PROXY_RENDER_SIZE_FULL`.
This caused error in image size calculation and because of that image had to be scaled.

Author: EitanSomething

Reviewed By: ISS

Differential Revision: http://developer.blender.org/D6368
2020-01-22 00:59:31 +01:00
Henrik Dick
bda0c0847b Fix numerical instabilities of solidify with complex constraints
Sometimes on flat open vertices the thickness would suddenly start
to be jumping in powers of 2, also when bending a plane there is a
noticeable jump in the geometry.
When offset is set to -1 or 1 weird glitches happen.

See D6559 for test cases that failed.
2020-01-22 06:12:38 +11:00
Bastien Montagne
56c7ee99b8 Fix T72619: Fix/implement support of particle modifiers in liboverride.
Some modifiers (like particle system, but also some other physics
simulations) require extra steps besides creating the modifier itself,
so had to switch to higher-level `ED_object_modifier_add()` to add
inserted modifiers in an overriding object data-block.

Due to how particle modifier handles copying, some extra nasty
hacks/work-around were also needed to get it working.
2020-01-21 20:10:02 +01:00
Bastien Montagne
367d60dab1 Make ED_object_modifier_add() accept NULL scene parameter.
This data is only used to get current time/frame value, which is never
mandatory to add a modifier.

Needed by incoming fix to support particles modifiers in liboverrides.
2020-01-21 20:10:02 +01:00
Sybren A. Stüvel
5168408ae5 Fix T72459: Mask Modifier breaks Vertex Parenting
The `give_parvert()` function was only considering the mesh's original
vertex indices when the parent vertex index was valid for the evaluated
mesh. However, when using the Mask modifier the evaluated mesh can have
less vertices but still have the parent vertex.

Since the `if (nr < numVertex)` condition wasn't used to prevent any
out-of-bounds access, and seems just an incorrect optimisation, it could
be removed.
2020-01-21 17:53:06 +01:00
Campbell Barton
8d163d5976 Docs: describe turn-table gimble lock mitigation 2020-01-22 02:53:38 +11:00
Campbell Barton
3436eea1f5 Fix T73297: Incorrect lock properties tooltip 2020-01-22 02:53:38 +11:00
Jeroen Bakker
42360e64da Fix T73233: Image Editor Color Picker Crash
When using the color picker on a image editor it tries to read the color
from the original image. When there is no original image the code
crashes during the determination of the UDIM tile number.

There are 2 approaches to solve this.
1. Modify `BKE_image_get_tile_from_pos` to support NULL pointers.
2. Modify `ED_space_image_color_sample` with an early exit.

This patch modifies `ED_space_image_color_sample` with an early exit.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6629
2020-01-21 16:32:26 +01:00
Campbell Barton
98a99cb763 Fix T73295: Incorrect BMesh volume calculation
Use double precision since volume calculation is susceptible
to float precision errors.
2020-01-22 01:31:12 +11:00
Sybren A. Stüvel
2e4fbd327f Fix T72216 Copied Particles not refreshing in the viewport
The depsgraph was not tagged for relations update after the copy, which
means it was incomplete and thus didn't update the copied particle sim.
2020-01-21 15:30:07 +01:00
Sybren A. Stüvel
40d71fc642 Fix T70891: Motion Path - Changing endframe clamps startframe to 1
There were two strange things going on:

- Start frame was clamped to 1, even when frame 0 is always a valid number.
  This also ignored the 'Allow Negative Frames' user preference.
- Start frame was only clamped when setting the end frame, so first setting
  the end frame and then the start frame would result in a different result
  than doing it in the opposite order.

This commit fixes both issues by:

- Clamping the lower bound of the start frame only if negative frames are
  not allowed, and
- apply that clamp both when setting the start and the end frame.
2020-01-21 11:53:12 +01:00
Yevgeny Makarov
5a29356b4d Fix T61259: Loop Cut with Trackpad or MagicMouse 2020-01-21 21:42:34 +11:00
Sybren A. Stüvel
9f66062da7 Fix T72213: F-Curve animation does not update FreeStyle properties
FreeStyle line styles were not part of the dependency graph, and
blacklisted from the Copy-on-Write system. As a result, animated
FreeStyle properties would not be updated by the animation system,
resulting in T72213. There was an explicit call to run the animation
system on the original datablocks, but that was (for good reasons)
removed in D5394.

This commit adds the FreeStyleLineStyle datablocks to the dependency
graph and allows them to be handled by the CoW system. As a result

- the UI now updates properly when properties are animated, and
- animated property values are actually used when rendering.

This commit includes @Sergey's patch P1222, which unifies two bits of
code that did the same thing: check whether datablock type is covered by
copy-on-write.

Reviewed By: sergey, brecht

Differential Revision: https://developer.blender.org/D6609
2020-01-21 10:44:23 +01:00
Nico Zevallos
1982d110f4 Fix T62882: Make Dynamic Paint update weights in viewport
Related to T62882
When the SupportsMapping modifier flag was added to the dynamic paint
modifier it was added commented out. It may have not worked back then,
but it seems to work fine now.
MOD_weightvgedit.c was already updated similarly.

Reviewed By: jbakker

Differential Revision: https://developer.blender.org/D6072
2020-01-21 09:42:26 +01:00
Philipp Oeser
aee2b754dc Fix T73110: UDIM Texture Paint Crash
This would happen if a tile is found on disk, painting would actually
request that tile (because corresponding uvs were in that range), but
that tile was not added in blenders list of tiles in that Image.

Need to also check tile in `image_quick_test` (regardless of iuser
having passed).

thx @lukasstockner97 for additional input!

Maniphest Tasks: T73110

Differential Revision: https://developer.blender.org/D6578
2020-01-20 21:21:59 +01:00
Philipp Oeser
ddddb94517 Fix T72546: Video Sequencer: Select grouped 'OVERLAP' operator wrong
selection

False positive when a sequences end would be the same as active
sequences start.

Also thx @sybren for the heads up to make this more readable.

Maniphest Tasks: T72546

Differential Revision: https://developer.blender.org/D6451
2020-01-20 21:05:11 +01:00
Clément Foucault
335930ab4e Overlay: Improve Outline diagonal Antialiasing
I doubt we can do much better. Most of the aliasing comes from the edge
detection which does not use a lot of samples. We could use more samples
but then the detection becomes way more complex and expensive.

The second issue comes from the reconstruction (AA pass) that only bleed
adjacent pixels in if their line direction is perpendicular to the offset.
This makes corner gaps on certain diagonals.
2020-01-20 19:36:08 +01:00
Campbell Barton
661d363e13 Fix T73162: Modal tools cant be mapped to MMB
Also rename struct members to 'launch_event', since it's more
descriptive and was called this in some places.
2020-01-21 03:09:56 +11:00
Antonio Vazquez
a5f19e3f72 Fix T73265: GPencil console error when delete frist frame 2020-01-20 16:18:20 +01:00
Sebastián Barschkis
4dbaee0293 Fluid: Fix for liquid domains in cache replay mode
Added missing check that prevented bake from being executed correctly.
2020-01-20 16:17:16 +01:00
Sybren A. Stüvel
dae033801b Fix T72050 Subdivide method "Straight Cut" not working with N-Gons enabled
'Straight Cut' is actually documented as creating N-Gons. However, the
code was disallowing this. This is probably a mix-up as the "allow N-Gons"
option is documented as a "force quad/tri" option.
2020-01-20 16:11:00 +01:00
Campbell Barton
133f6a9812 Bevel: flush selection with non-modal execution 2020-01-21 01:27:46 +11:00
Yevgeny Makarov
5c5f2bd221 Fix file browser not excluding AirDrop from the System list on macOS
There is already code for this, it just wasn't working. Now add the
slash after checking for an empty string.

Differential Revision: https://developer.blender.org/D6568
2020-01-20 14:50:18 +01:00
Sebastián Barschkis
81befded7b Fluid: Fix for smoke domain geometry object with adaptive domain enabled
The smoke mesh geometry always needs to be updated when using the adaptive domain.
2020-01-20 14:34:08 +01:00
Clément Foucault
3bda3a2992 Fix T73187 Overlay: Stereo 3D Camera not displaying correctly 2020-01-20 14:15:54 +01:00
Clément Foucault
bb692a2d0f Fix T59747 EEVEE: Bug on EnvironmentTexture 2020-01-20 13:48:25 +01:00
Brecht Van Lommel
ccfe5bf215 Cleanup: remove redundant function 2020-01-20 13:27:19 +01:00
Clément Foucault
e6ccd512e6 EEVEE: Fix crash during lightbake 2020-01-20 12:55:21 +01:00
Campbell Barton
cfae9fb9e4 Fix T73224: Crash calling UV Sculpt from operator search 2020-01-20 20:46:29 +11:00
Brecht Van Lommel
6368343da9 Fix T73129: sculpt mode slow on mesh with fake user
We can't use the fast path when the mesh is used by mulitple objects and so
slower sculpting is expected then. But fake users should not affect this. This
also fixes the same type of error in a few other areas.
2020-01-20 09:39:54 +01:00
Campbell Barton
6395937b01 Fix T71922: Bisect creates flipped faces 2020-01-20 19:19:04 +11:00
Sebastián Barschkis
81b7f8efaf Fixed secondary particle combined export functionality
The combined export was using the old flag format.
2020-01-19 23:44:57 +01:00
Sebastián Barschkis
c7596cd820 Fluid: Improved cache file loading
Cache file loading for mesh and particle files now works through the direct update_structures functions. The final cache mode now also only bakes the most essential files and is therefore not resumable anymore.
2020-01-19 23:44:56 +01:00
Alexander Gavrilov
d1657b406e Fix T73117: B-Bone twist weirdness in chains with sharp bends.
When computing the roll value coming from the handle bone, the code
was using some strange unexplained math. It probably works fine when
the difference with the 'zero roll' orientation is pure twist, like
is the case when called from mat3_to_vec_roll. However, it appears
to break when significant swing is involved.

The issue is fixed by using the proper Swing+Twist decomposition
utility function that was added in a recent version for drivers.
2020-01-19 18:48:18 +03:00
Ray Molenkamp
3e11c4e63b Fix: T71159 missing python3.dll
File got forgotten during the last repack of python.
2020-01-18 11:58:38 -07:00
mano-wii
deb59c25c0 Weld Modifier: Reduce size of the leaf nodes to half
This improves performance by reducing the amount of false positives.

A self overlap is made, so the distance from the vertices in the
overlap nodes is actually added.
2020-01-18 15:28:49 -03:00
Bastien Montagne
5472ae6fdf Fix memory leak when full-copying a scene after recent changes.
Once again, am not exactly sure why that was working before, and not
anymore - but in any case, doing that kind of update here is not only
useless (since we have to do it at the end of the whole
collections/objects duplication and remapping anyway), it is also rather
dangerous, as collections are currently in rather invalid states at that
point of the code...

Note that in ideal world, `BKE_main_collection_sync()` & co would be
lazy (setting only a flag, then code actually needing this to be valid
again should call some sort of `BKE_main_collection_sync_ensure()`).
Then we would not have to worry about such things (and we'd get nice
performance improvements in some cases, also in main remapping code,
etc.).

Food for some refactoring, some day...
2020-01-17 19:59:00 +01:00
Bastien Montagne
6744f4d108 Cleanup of previous rBac723db57fd8ba5 commit.
Simplify a bit, and remove some now redundant remappings.

As a side note, rBac723db57fd8ba5 actually also fixed some unreported
issues (missing remappings to new objects/collections in new copied
scene, that were not previously handled by the 'custom' code).

There are almost certainly still some missing remappings around,
though...
2020-01-17 19:59:00 +01:00
Bastien Montagne
fb0fc1d613 Fix T73170: New Scene -> "Full Copy" Crashes Blender.
rBac723db57fd8ba5 makes proper remapping of all pointers in Scene...
including the object pointers of bases in ViewLayers.

Using `BKE_main_collection_sync_remap()` makes sense here anyway
(compared to `BKE_main_collection_sync()`, it additionally clears caches
in ViewLayers and Collections), this whole code makes a lot of
remapping.

Note that I do not really understand *why* that was working OK
before rBac723db57fd8ba5. I.E. *why* not remapping at all ViewLayers'
base object pointers seemed to be OK...

This whole collection/viewlayer caching is very hard to follow, and
really needs a full rework at some point (just as much as ID copying
code in general, and scene copying code in particular, in fact).
2020-01-17 19:59:00 +01:00
Bastien Montagne
66ad94d905 Cleanup: remove dead code in full scene copy/make single users area. 2020-01-17 19:59:00 +01:00
Bastien Montagne
35b16e4985 Cleanup: factorize collection handling in libquery code.
Both actual Collection datablocks and the horrible master collection
should share the same code (there were already some differences,
although probably not critical, but some callbacks from
scene->master_collection did not have the 'not self' flag...).
2020-01-17 19:59:00 +01:00
Clément Foucault
7b29956cc5 Fix T67942 EEVEE: Crash when empty is set as camera and motion blur is on 2020-01-17 19:43:41 +01:00
David
f417787ee1 Gizmo: draw dial arc only over one rotation to avoid artifacts
There were some visual artifacts when the spin gizmo had a rotation
greater than 360 degrees.

Avoids this by drawing the arc over the span of one rotation only
and adjusting the background color based on the rotation count.
2020-01-18 03:07:13 +11:00
Sybren A. Stüvel
3ef32cb90a Fix T73186: Grease Pencil convert to Curve hidden until exiting edit mode
The converted object wasn't tagged for updating its geometry in the
dependency graph.
2020-01-17 14:48:11 +01:00
Jeroen Bakker
7c9d15fca8 Fix T71154: EEVEE Soft Shadows Viewport Rendering
EEVEE Soft shadows were not rendered correctly during viewport
rendering. The reason for this is that during viewport rendering the
shadow buffers were only update once and not per sample. This resulted
that all the samples calculated the same shadow.

This fix moves the call to `EEVEE_shadows_update` from cache finished to
draw scene. This needs to happen before `EEVEE_lightprobes_refresh`.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6538
2020-01-17 14:03:29 +01:00
mano-wii
c22d2f9e01 Fix T73159: Crash transforming 0 edited grease objects 2020-01-17 09:17:36 -03:00
Campbell Barton
6b7e5b35bc Fix T73135: Gizmos flicker when changing viewport options 2020-01-17 18:58:50 +11:00
Campbell Barton
192940e8c2 Cleanup: bad brace placement for manually formatted blocks 2020-01-17 18:11:50 +11:00