Commit Graph

75974 Commits

Author SHA1 Message Date
Hans Goudey
2e6d5e6c6b Cleanup: Clang Tidy: Resolve readability-delete-null-pointer error 2020-08-20 13:33:17 -04:00
Bastien Montagne
e5fd2a3888 Merge branch 'blender-v2.90-release' into master 2020-08-20 17:59:05 +02:00
Clément Foucault
5a957c0299 GPUShaderInterface: Fix use after free crash 2020-08-20 17:57:05 +02:00
Bastien Montagne
05e1ccf108 Fix T79931: Infinite loop in scene "Full Copy" in 2.90.
Code dealing with object copy of master collection was bugy in case one
of the new object copy would get a name lesser than the original object,
leading to new copy being inserted before original one in lists.

Maniphest Tasks: T79931

Differential Revision: https://developer.blender.org/D8656
2020-08-20 17:47:56 +02:00
Wayde Moss
89ee260ef2 Fix T63675: Keying outside NLA strip not possible
Allow adding keys outside of the NLA strip, when Sync Length is
activated. Before this, an animator would have to exit tweak mode,
adjust the strip length, then enter tweak mode again.

Now the animator can freely insert and modify keys outside of the strip
bounds. They will never have to touch the strip bounds directly.

Reviewed By: sybren

Differential Revision: https://developer.blender.org/D7533
2020-08-20 17:19:36 +02:00
Pablo Dobarro
7d79b06fa7 Cleanup: Mesh Filter invoke refactor
This moves the allocation for filter to separate functions, removes all
repeated calls to RNA_enum_get an fixes some other code quality issues.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8639
2020-08-20 17:03:15 +02:00
Clément Foucault
5f414234dd GPUState: Use state setters inside selection code
This fixes T79945 Gizmos don't work in Edit Mode
2020-08-20 17:02:39 +02:00
Clément Foucault
8228356f50 DRW: Fix remaining glDisable 2020-08-20 17:02:39 +02:00
Clément Foucault
e23ef8753a GPUState: Use explicit depth test enum 2020-08-20 17:02:39 +02:00
Pablo Dobarro
c85144934a Fix T79924: Update the view rotation origin after setting the sculpt pivot
This updates the view navigation origin after modifying the pivot
position.

Reviewed By: sergey

Maniphest Tasks: T79924

Differential Revision: https://developer.blender.org/D8632
2020-08-20 17:01:12 +02:00
Pablo Dobarro
d74c495838 Fix variable simulation steps with cloth deform brushes
Cloth deform brushes (both in cloth brush or other tools with cloth
simulation targets) should not have their spacing as a value relative
the brush radius to avoid affecting the simulation speed when changing
the brush radius.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8620
2020-08-20 17:00:12 +02:00
Pablo Dobarro
b3bd121dd4 Sculpt: Add orientation modes to the Cloth Filter
This adds the orientation modes to the Cloth Filter.
Similar to the mesh filter, they set the orientation of the axis when
limiting the forces.

When using the gravity mesh filter, the orientation also sets the gravity
direction. In world orientation, cloth will always fall towards the
ground plane. In view mode, cloth will always fall down relative to the
view.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8618
2020-08-20 16:58:26 +02:00
Wayde Moss
50919413fe NLA: Fix strip Sync Length moving animation data
Change the way Sync Length works so that it keeps keyframes at the same
key as before the sync. Now when the user exits tweak mode, the overall
NLA result is unchanged.

Reviewed By: sybren

Differential Revision: https://developer.blender.org/D7602
2020-08-20 16:44:38 +02:00
Jacques Lucke
263148dbac Depsgraph: refactor tagging after time changes
This reverts {rB1693a5efe91999b60b3dc0bdff727473b3bd00bb}
and implements an alternative solution.

The old patch had the problem that the depsgraph would always
evaluate at the current frame of the original scene (even when
`DEG_evaluate_on_framechange` was used). Now it is possible
to evaluate the depsgraph at a specific frame without having to
change the original scene.

Reviewers: sergey, sybren

Differential Revision: https://developer.blender.org/D8616
2020-08-20 16:29:34 +02:00
Clément Foucault
7fac0f9cd5 Selection: Fix lasso selection invisible 2020-08-20 16:11:14 +02:00
Clément Foucault
121d3181f9 GPU: Fix some more remaining GL enums scattered outside of GL module
This fixes an assert inside the lasso selection drawing.
2020-08-20 16:11:14 +02:00
Clément Foucault
19d72175ba GPUShaderInterface: GL backend isolation 2020-08-20 16:11:14 +02:00
Clément Foucault
14fcd46ca7 GPU: Use GPUShader setters for uniforms removing uses of ShaderInterface 2020-08-20 16:11:14 +02:00
Clément Foucault
5e65498e3d DRW: Remove some more direct gl state modification. 2020-08-20 16:11:14 +02:00
Hans Goudey
f364d181e3 UI: Fix collapsed panels not drawing header buttons
Error in rB940b239ad473 left a check for open panels after the
"vertical" check was removed.
2020-08-20 10:04:17 -04:00
Hans Goudey
f9697543e4 Revert "Cleanup: Use LISTBASE_FOREACH in editors screen directory"
This reverts commit 52f40bcff2.

Apologies for the noise. I caught a problem with this that I hadn't before. I will
commit later after thorough testing.
2020-08-20 09:34:09 -04:00
Hans Goudey
52f40bcff2 Cleanup: Use LISTBASE_FOREACH in editors screen directory
Differential Revision: https://developer.blender.org/D8653
2020-08-20 09:29:01 -04:00
Campbell Barton
a12d046910 Merge branch 'blender-v2.90-release' into master 2020-08-20 22:00:51 +10:00
Campbell Barton
c74b4caa72 Fix incorrect mask use with curves
Ref D8652
2020-08-20 21:51:35 +10:00
Germano Cavalcante
5e85c9878b Fix cloth collision clamp having no effect
And rename `cloth_selfcollision_impulse_vert` to `cloth_collision_impulse_vert`
2020-08-20 08:24:32 -03:00
Bastien Montagne
f9b4fb7206 Cleanup: Outliner: LibOverride tools.
Remove useless extra-processing, comments, etc.
2020-08-20 12:41:14 +02:00
Bastien Montagne
4aa04b6490 LibOverride: Add 'delete and use linked data' operation.
This will re-link all usages of a library override data-block
(including all of its override dependencies) to its reference linked
IDs, and delete those liboverrides.

As usual, it is available in the ID sub-menu of the outliner context
right-click menu.

Part of T76555.
2020-08-20 12:35:16 +02:00
Bastien Montagne
0fae682d61 Fix T79935: Inonsistent simplify behavior when linking collection with objects in sub-collection.
RNA update function would only update objects from 'main' instantiated
collection, not those from sub-collections.

This should be comitted to 2.90 (and backported to 2.83 too).

Maniphest Tasks: T79935

Differential Revision: https://developer.blender.org/D8654
2020-08-20 11:52:12 +02:00
Bastien Montagne
341ff17326 Fix T79935: Inonsistent simplify behavior when linking collection with objects in sub-collection.
RNA update function would only update objects from 'main' instantiated
collection, not those from sub-collections.

This should be comitted to 2.90 (and backported to 2.83 too).

Maniphest Tasks: T79935

Differential Revision: https://developer.blender.org/D8654
2020-08-20 10:39:28 +02:00
Campbell Barton
efa7aaa97f Cleanup: use const variables where possible in the Python API 2020-08-20 16:10:13 +10:00
Campbell Barton
8877e3aa62 Cleanup: clang-format 2020-08-20 16:09:48 +10:00
Nathan Craddock
48325306d9 Cleanup: Outliner active indicator repeated code
Refactor the code to draw the roundrect behind outliner icons for active
elements into a single function.

No functional changes.
2020-08-19 19:35:47 -06:00
Hans Goudey
940b239ad4 Cleanup: Remove unused variables for horizontal panels
Continuing the work of eb9055a572, remove remaining unecessary
variables and arguments that were related tabbing and horizontal
alignment of panels. For example, "vertical" was always true, and
removing that exposed other unused variables.
2020-08-19 18:55:04 -04:00
Hans Goudey
50b435cbaa Cleanup: Remove unused variable 2020-08-19 18:05:03 -04:00
Jacques Lucke
4f6051e8c4 BLI: fix memory leak in delaunay 2d
Differential Revision: https://developer.blender.org/D8633
2020-08-19 18:45:48 +02:00
Hans Goudey
eb9055a572 UI: Remove panel X axis closing code
Horizontal panel alignment hasn't been used for years, and we have no
plans to use it in the future. It adds a fair amount of complexity to
the panel code which makes adding features take longer.

This code removes the X closing flag, and all of the logic / variables
unused without it.

This commit includes a file subversion bump.

Differential Revision: https://developer.blender.org/D8601
2020-08-19 11:37:21 -04:00
Jacques Lucke
f61927d946 BLI: improve leak detection in tests
This actually found a bug in my previous commit.
2020-08-19 17:27:58 +02:00
Clément Foucault
1dafa87eb5 GPUState: Fix signed / bitfield conversion leading to wrong enum value
This was creating drawing issues on windows builds.
2020-08-19 17:13:53 +02:00
Jacques Lucke
fccb38cf19 Fix warning from narrowing conversion 2020-08-19 16:56:36 +02:00
Jacques Lucke
2aff45146f BLI: improve exception safety of Vector, Array and Stack
Using C++ exceptions in Blender is difficult, due to the large
number of C functions in the call stack. However, C++ data
structures in blenlib should at least try to be exception safe,
so that they can be used if someone wants to use exceptions
in some isolated area.

This patch improves the exception safety of the Vector, Array
and Stack data structure. This is mainly achieved by reordering
some lines and doing some explicit exception handling.
I don't expect performance of common operations to be affected
by this change.

The three containers are supposed to provide at least the
basic exception guarantee for most methods (except for e.g.
`*_unchecked` methods). So, resources should not leak when
the contained type throws an exception.

I also added new unit tests that test the exception handling
in various cases.
2020-08-19 16:44:59 +02:00
Bastien Montagne
aeaf2b0dd4 LibOverride: Add initial version of 'resync' operation.
Available from the usual ID submenu in the Outliner context menu.

The goal of this operator is to re-create the override from the linked
data, while preserving existing defined overrides.

This allows to update local opverrides when relations between datablocks
are changed in source library linked data.

Part of T76555.
2020-08-19 16:27:49 +02:00
Antonio Vazquez
3e56dd8fd9 GPencil: Change default Onion Keyframe mode to ALL
Now by default the selection mode is All keyframes types.

Also removed the icon for All option and renamed from `All Types`to `All`.

UI review by @pablovazquez
2020-08-19 15:30:38 +02:00
Julian Eisel
5cc08510e0 RNA: Validate scene/view-layer combination for statistics query
Users may input an invalid scene/view-layer combination via Python. We
can easily detect that and fail gracefully.

Besides checking input parameters in RNA, also assert the
scene/view-layer combination is valid in lower level Depsgraph lookup
function (called by statistics query).
2020-08-19 12:37:59 +02:00
Hans Goudey
8cbfc4c76e Fix T79816: Restore scene.statistics() BPY function
This RNA/BPY function was removed in c08d847488. For understandable
reasons really-- getting scene statistics from a string displayed in the
status bar is not exactly the best design. But we have committed to not
changing the RNA API too much for the 2.90 release, so we would like to
keep this functionality.

Differential Revision: https://developer.blender.org/D8604

Reviewd by: Julian Eisel
2020-08-19 12:37:59 +02:00
Brecht Van Lommel
5549ee2e08 Fix incorrect number of recent items displayed in splash
After recent code cleanup in rB349eebd7.
2020-08-19 12:26:49 +02:00
Hans Goudey
83c78529b9 Fix T79816: Restore scene.statistics() BPY function
This RNA/BPY function was removed in c08d847488. For understandable
reasons really-- getting scene statistics from a string displayed in the
status bar is not exactly the best design. But we have committed to not
changing the RNA API too much for the 2.90 release, so we would like to
keep this functionality.

Differential Revision: https://developer.blender.org/D8604

Reviewd by: Julian Eisel
2020-08-19 12:14:03 +02:00
Brecht Van Lommel
c5d33070fd Cleanup: compiler warnings 2020-08-19 12:11:48 +02:00
Clément Foucault
e9e493977c GPUShader: Fix apple clang warnings 2020-08-19 11:57:28 +02:00
Clément Foucault
d412a5e6fa DRW: Fix crash drawing gpencil 2020-08-19 11:54:05 +02:00
Antonio Vazquez
97dc370c50 Fix compiler error in MSVSC
Introduced in: rB20a8edaa725ddbae16179d2f7cea88c097c61615

It broke building on windows, initializing a static may not be done with a function in C.
2020-08-19 08:58:29 +02:00