Although the Auto-Run Python Scripts flag isn't used,
this is still a security risk since exclude paths list is.
Further this isn't what users would expect when loading a file &
only some preferences were being loaded so it's not useful.
The issue was caused by un-initialized local storage for volume
intersection hits which are supposed to be stored in per-thread
KernelGlobals.
Fix is to make thread_shader() be the same as thread_render() in
respect of KernelGlobals.
Reviewers: brecht
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D5230
It should be based on the mesh bounds before modifier stack evaluation, but
some modifiers were causing it to be recomputed. The flag to disable texture
space recomputation was not preserved through modifier evaluation.
Differential Revision: https://developer.blender.org/D5225
Seems the deform group index and deform vertices went out of sync somehow.
Added extra NULL pointer check, which seems to be safe and matches checks
in other places in the neighbourhood.
When `BKE_mesh_new_from_object()` cannot convert an object to a mesh, it
returns `NULL`. This case was not handled at all in
`BKE_mesh_new_from_object_to_bmain()` or `curvetomesh()`, causing a
segmentation fault.
This commit fixes the segmentation fault, and leaves the curve object as
a curve object.
Reviewed By: mont29, brecht, sergey
Differential Revision: https://developer.blender.org/D5217
Note: Although this fixes the issue (as in, it prevents a crash)
BKE_reports are not working because of CTX_wm_window_set().
Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D5210
The menu shortcut context for 'Refresh All' was wrong and the actual operation
exectuted in the menu for the 'Move' command was different from the shortcut.
A mouse click in the window will trigger the `VIEW3D_OT_cursor3d` operator
before the viewport is available. This causes a segfault in
`GPU_viewport_engines_data_validate()`.
Other callers of `WM_draw_region_get_viewport()` already check for `NULL`
being returned and handle it gracefully.
Reviewed By: jbakker, fclem
Differential Revision: https://developer.blender.org/D5216
Init the scene of the draw context when selecting. When using face dot selection on
when the subsurf modifier is active on the cage, the scene needs to be
valid. It is read from the context in the
`DRW_mesh_batch_cache_create_requested` and used in the `isDisabled`
method of the SubSurfModifier.
Reviewers: fclem, sergey
Differential Revision: https://developer.blender.org/D5214
Restore some context overrides which were originally happening in 2.79.
Made it a bit more paranoid, by storing old values and restoring them
afterwards, so the context is not being changed at the end of the function.
When the object we iterate over is not part of the depsgraph, we cannot
get the evaluated copy to export. This workaround is temporary to avoid
a BLI_assert() failure getting the evaluated mesh of this object.
This will be handled more elegantly in the new AbstractHierarchyIterator
that I'm working on, but that requires a bigger change than we should
allow this close to the 2.80 release candidate.
This fixes a problem described in T58686.
This is intended for Python access and allows temporary negative frames
which is a problem when accessed from the UI.
This allows:
seq.frame_final_start, seq.frame_final_end = frame_range
However it allows invalid sequence strips,
using a label is fine since there is a duration property here which
can change the length.