Commit Graph

80844 Commits

Author SHA1 Message Date
Ankit Meel
2ddecfffc3 Fix T81077 id_management test on macOS
This looks like a optimizer bug where it makes wrong assumptions.
The code inside lib_id_delete:264 on rBafd13710b897cc1c11b
`for (id = last_remapped_id->next; id; id = id->next) {..}`
is not executed in release/relwithdebinfo builds.

This can be "fixed" by several ways:
- Adding a line that prints the `last_remapped_id->name` right before
  the said for-loop starts.
- Turning off optimization for the whole function `id_delete`:
  `#pragma clang optimize off/on` Ray Molenkamp
- Marking `last_remapped_id` volatile. Julian Eisel
- Marking `tagged_deleted_ids` volatile. But it adds a warning when
  calling `BLI_addtail`: discards volatile qualifier. Discovered by
  accident.

Fix T81077

Reviewed By: mont29

Maniphest Tasks: T81077

Differential Revision: https://developer.blender.org/D9315
2020-10-26 15:02:20 +05:30
Bastien Montagne
4b7abde11d Fix T81963: Random rare crashes in override code.
Finaly managed to reproduce, we not only have to ensure pose data is up
to date for the override armature, but also for the reference linked
data.
2020-10-26 09:51:49 +01:00
Bastien Montagne
81462f86bc Fix T81984: Crash in sculpt undo with mask extract after dyntopo toggle
More operators missing the mandatory undo flag...
2020-10-26 09:16:33 +01:00
Richard Antalik
8eb7344731 Fix Recursion when rendering scene strip
Recursion happens in case when scene strip point to it's own scene
indirectly by using SEQ_SCENE_STRIPS option.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D9264
2020-10-26 00:31:49 +01:00
Richard Antalik
3deb4f4cb8 Fix T81426: Infinite loop building VSE relations
It is possible to create scene strips pointing to each other. This is
sanitized when rendering, but in dependency graph such setup will cause
infinite loop.

This patch fixes loop in dependency graph, but same problem exists in
audaspace

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D9262
2020-10-26 00:30:27 +01:00
Richard Antalik
8d1978a8e0 Fix T81250: Crash after undoing with prefetching
Main DB and it's structs can point to different address after undoing.

In this case problem was that bmain was not updated. Same fix was
done for scene as well.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D9240
2020-10-26 00:28:54 +01:00
Pablo Dobarro
31629c1363 Fix T81904: Cloth brush simulation failing with local area and mirror
When using local area, all nodes need to build their constraints first
before activating them for simulation. THis ensures that nodes get their
structural constraints from the initial location of each symmetry pass.

Reviewed By: sergey

Maniphest Tasks: T81904

Differential Revision: https://developer.blender.org/D9303
2020-10-25 23:06:16 +01:00
Howard Trickey
1c653a0315 Fix T81999, Boolean Exact+Self Difference fails.
A cell with winding number > 1 for the second operand was incorrectly
included in the output.
2020-10-24 17:36:38 -04:00
Howard Trickey
574d711008 Fix T81884, clamping with percent, addendum.
The previous fix forgot the case where there is an intermediate
edge and everything isn't in one plane.

Differential Revision: https://developer.blender.org/D9336
2020-10-24 14:44:28 -04:00
Howard Trickey
d65e5e8bc5 Fix T82019 Crash loading 2.78 splash demo.
The versioning code to default to old booleans for old files was
faulty because really old files had a 'solver' field (later removed,
but then added back for new booleans).
2020-10-24 13:53:16 -04:00
Clément Foucault
70cc0d7121 GPU: Debug: Trim shader stats from output log
We don't make use of it anyway.
2020-10-23 19:33:51 +02:00
Clément Foucault
a4f883268b GPU: Use CLOG to for debug output
This removes the escape color control caracters when the output
does not supports it (i.e: file output, windows cmd).
2020-10-23 19:33:51 +02:00
Brecht Van Lommel
87681f9b5f Cleanup: remove redundant assignment in previous bugfix 2020-10-23 16:32:29 +02:00
Brecht Van Lommel
8186b96753 Fix use of uninitialized line/polygon smooth variables in GPU state
Found by valgrind, unclear if this caused an actual bug.
2020-10-23 15:27:47 +02:00
Philipp Oeser
9441c640c8 Fix T81934: Painting/Sculpting in ortho fails to let strokes pass through clipped geometry
Caused by rB7878adf49cff.

When getting the stroke location via raycast in ortho view, the above
commit flipped the condition of the check to perform adjustments on the
rays start/end. This would thus happen (even though it shouldnt),
resulting in wrong depth and stroke location.

Now just flip the condition back, so adjustments only happen when
clipping is OFF.

Maniphest Tasks: T81934

Differential Revision: https://developer.blender.org/D9318
2020-10-23 09:44:38 +02:00
Campbell Barton
67c7fe6ad6 Fix T80165: Separate by loose parts breaks custom normals
- Add NULL check for BKE_lnor_spacearr_clear
- Remove unnecessary 'use_toolflags' with BMesh creation.
2020-10-23 13:56:55 +11:00
Clément Foucault
36e8561298 Fix T81969 VSE: Wrong UI colorspace after scene strip update
This regression was caused by rB57de5686048f which disabled srgb
transform after the python callback.

The right thing to do is to only rebind the framebuffer once to
reset the no-srgb override.
2020-10-23 03:32:51 +02:00
Clément Foucault
3cc2dc40b3 Fix T81942 EEVEE: Reflection Plane glitch with low clip distances
This was happening because the raytrace was not even being performed
due to the tracing line being too small after frustum clipping.
2020-10-23 02:02:41 +02:00
Clément Foucault
e58285dc1d Fix T73793 Walk navigation crosshair gets hidden behind objects
This was reintroduced by the wide line emulation workaround.
2020-10-23 02:02:41 +02:00
Hans Goudey
8e060b44da Fix T81818: Outliner mode column crashes with shared object data
For objects with shared data, it makes sense to show the mode icon for
every object sharing the same data if one of them is in edit mode.

This also disables the "extend" functionality in this case, because
being in edit mode for multiple objects with the same data isn't
supported.

Differential Revision: https://developer.blender.org/D9273
2020-10-22 18:13:30 -05:00
Aaron Carlisle
baa24f1c91 Pydoc: Fix sphinx compile warnings about freestyle
Sphinx expects functions and methods with the same name and different
parameters to be written using one directive. See:
https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html#basic-markup

Unfortunately this makes giving different descriptions for each harder.
This was already a request for better support for this in sphinx, see:
https://github.com/sphinx-doc/sphinx/issues/7787

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D9170
2020-10-22 17:22:05 -04:00
Hans Goudey
3d916c0a96 Cleanup: Simplify outliner mode column drawing function
Move the checks for whether to draw the button to the beginning of the
function and return early. Also use a shorthand variable for ob_active.

Committing to 2.91 as a patch for an upcoming bug fix depends on these
changes.

Differential Revision: https://developer.blender.org/D9272
2020-10-22 15:46:35 -05:00
Antonio Vazquez
8432452f6f GPencil: Fix unreported crash using layer solo mode and masked layers
The solo mode was skipping the layer creation data and the loop of masks expect to have all layers in the array or the loop crash.

The solution is just create the layer array data for the layer, but don't draw any stroke.
2020-10-22 20:01:39 +02:00
Hans Goudey
6180ecaea5 Fix T81909: Translation missing for some labels in modifier panels
Every label string in uiItem* calls needs an IFACE_ call.
2020-10-22 10:25:08 -05:00
Antonio Vazquez
5b35f1ed2b GPencil: Fix unreported mistake in material index for trace imagens
The material index was not used and only worked with new objects.
2020-10-22 17:05:10 +02:00
Pablo Dobarro
73ba3e2a9e Sculpt: Remove tools with missing icons experimental option
All tools planned for 2.91 now have icons, so this option can be
removed.

Reviewed By: dfelinto, Severin

Differential Revision: https://developer.blender.org/D9299
2020-10-22 17:01:16 +02:00
Jeroen Bakker
92571abf56 GPU: Memory leak when scaling buffers
`imb_gpu_get_data` could reuse `data_rect` when it was already in used (double alloc).
making the first use leak. This was detected after enabling OpenGL Texture
Limit.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D9280
2020-10-22 10:30:04 +02:00
Campbell Barton
cf8642d9fa Fix T81949: Child Of Constraint can't assign inverse matrix
Caused by ad70d4b095, assigning the matrix now
clears the flag that would reset it.
2020-10-22 18:46:31 +11:00
Campbell Barton
9ea345d1cf Fix animation player initialization
Updates from 9d30fade3e weren't applied to the animation player
causing an assert and missing call to IMB_init.
2020-10-22 17:07:56 +11:00
Campbell Barton
7ddc49ad34 Fix T81905: Active keyframe unavailable when handle selected
Selecting an F-Curve handle caused an assertion as well as treating
the key-frame as inactive.

Allow active the keyframe to be active when it's handle is selected,
as is done with bezier curves.
2020-10-22 15:55:30 +11:00
Campbell Barton
c53ac5e1c4 Fix T81939: crash calling bmesh.utils.vert_separate()
Missing NULL check in bmesh_kernel_vert_separate.
2020-10-22 15:26:22 +11:00
Campbell Barton
c70650785b Fix out of bounds array access in mathutils.noise
Regression in 0b2d1badec.
2020-10-22 14:03:00 +11:00
Campbell Barton
8da5599003 WM: warn when event's have repeat set for non keyboard events
Also add docs to event and keymap item flag.
2020-10-22 11:59:37 +11:00
Campbell Barton
88660d67a4 WM: ensure is_repeat isn't set for mouse-move events
Follow up to d782bad62d

Also clear this for simulated events.
2020-10-22 11:59:37 +11:00
Clément Foucault
cc3fdffbbe DRW: Fix custom engine not being BGL safe
This was caused by unprotected drawing callbacks.
As of 2.91, we require that all python callbacks used for
drawing needs to be safeguarded by `GPU_bgl_end()` to end the
state tracking override.
2020-10-22 01:19:10 +02:00
Clément Foucault
5a65305f89 Fix T81784 BGL: Gizmo glitch when using glEnable/glDisable
This was caused by unprotected drawing callbacks.
From 2.91, we now require that all python callbacks used for
drawing needs to be safeguarded by `GPU_bgl_end()` to end the
state tracking override.
2020-10-22 01:10:46 +02:00
Clément Foucault
b0f34eee30 EEVEE: Principle BSDF: Use multi-scatter switch for the glass variant
This avoid strange discrepency between the general purpose variant and
the specialized glass variant which did not have a way to turn
multi-scatter off.
2020-10-22 00:57:29 +02:00
Clément Foucault
091b433677 Fix T77658 EEVEE: Reflection Plane partially missing reflections
The degenerate line workaround was ill defined.
2020-10-22 00:57:29 +02:00
Robert Guetzkow
e1eaf9e2b4 Fix T81925: incorrectly skipped string copy in test_env_path
Regression in 6f3a9031f7

Ref D9306
2020-10-22 09:54:35 +11:00
Clément Foucault
27137c479c EEVEE: Screen Space Reflection: Improve contact reflections
This patch helps the case of intricate reflections where the
ray does not travel far before intersecting the geometry.

In these cases there could be false negative exclusion of the ray
caused by the backface rejection threshold.
2020-10-21 22:56:06 +02:00
Clément Foucault
0cbe6387e9 EEVEE: Screen Space Raytrace: Fix unreported banding artifacts
The artifact manifested as lines of different values caused by faillure to
trace the depth buffer correctly.

Adding a ad-hoc value to the step size to mitigate the issue.
2020-10-21 22:55:56 +02:00
Philipp Oeser
23ec1f90e7 Fix T81896: Outliner missing redraw after "Set Parent (Without Inverse)"
Outliners listener (outliner_main_region_listener) needs ND_PARENT
notifier to redraw, the parenting operator only spawned ND_TRANSFORM
(which doesnt do a redraw).

Maniphest Tasks: T81896

Differential Revision: https://developer.blender.org/D9295
2020-10-21 21:15:32 +02:00
Philipp Oeser
d2f52dccd3 Fix T81929: Sculpt: Mask operators missing drawing update on meshes with
shapekeys/modifiers

This was failing for all mask filters (sharpen, grow, invert, clear,
shrink, contrast, smooth) and mask gestures (box, lasso).
Also have to recalc shading, use SCULPT_tag_update_overlays for this.

ref D8956

Maniphest Tasks: T81929

Differential Revision: https://developer.blender.org/D9302
2020-10-21 20:37:18 +02:00
Pablo Dobarro
7ff6bfd1e0 UI: Allow changing the active side of line gestures
Line gesture use always the right side of the line as active (the area
of the mesh that is going to be modified) by default.
This adds the ability to change the active side when the line gesture is
active by pressing the F key.
This allows more freedom to position the line after starting the
gestures, as it won't be required to cancel the operation or undo if the
line was used in the wrong direction.

Reviewed By: Severin

Differential Revision: https://developer.blender.org/D9301
2020-10-21 18:17:36 +02:00
Dalai Felinto
fd96b29dcc Bump subversion to 2.91.9 for bcon3 BETA 2020-10-21 18:11:30 +02:00
Pablo Dobarro
15cebd8565 Fix T81901: Use the 2.90 scrape brush preset as default
The new preset I made for 2.91 is way more controllable with lower
strength values and does not have the accumulate bug, but until the
brush management is in place to ship multiple versions of the brush,
probably most people expect something closer to the old version to be
the default.

Reviewed By: sergey

Maniphest Tasks: T81901

Differential Revision: https://developer.blender.org/D9289
2020-10-21 17:51:23 +02:00
Julian Eisel
3601cdd27b UI: Swap order of increment and decrement file name icon in File Browser
Swaps the order of the '+' and '-' button in the File Browser file name field,
so that '-' comes first.

For increasing or decreasing a value it makes more sense to have decreasing
first, increasing last. Consistent to how you press on the left side of a
number button for decrease, and right to increase.

However this is inconsistent in another way: Usually we have a '+' button
before a '-' button, but that refers to adding and removing items, not
increasing or decreasing. The icons are also placed in their own buttons then,
making them look more separate.
So the UI Team agreed on accepting that trade-off, see today's meeting notes:
https://devtalk.blender.org/t/2020-10-21-ui-team-upcoming/15849
2020-10-21 17:34:53 +02:00
Julian Eisel
187cc5e26d UI: Move Properties path pin button next to the data-path
The pin button should be next to the data-path, which is what it belongs to.

Note that this makes the placement of the search button in the header look
quite off. That is because it's centered to the absolute header width, not the
width of the main region (which is smaller because of the tab region on the
left).
Technically it's correct that way, visually it looks wrong. This will be
addressed in a followup commit.
2020-10-21 17:25:37 +02:00
Antonio Vazquez
dd82a0d623 GPencil: Fix unreported problem with strokes bounding box that makes impossible sculpt
When the stroke was not flat, the bounding box projected could not be right and the strokes could not be painted or sculpted.

Now, the 2D bounding box is calculated using the extremes of the 2D bounding box and not the original 3D min and max values.
2020-10-21 17:23:55 +02:00
Bastien Montagne
62528677bf Fix 'Make Local' operation to support liboverrides.
One can now use 'make local' from the Outliner or the 3DView to also
fully localize overrides of linked data.
2020-10-21 16:59:11 +02:00