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
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
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
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).
Don't allocate a new buffer for refitting meshes, but update the existing one.
It's not clear from the API docs if this is required, but it appears to solve
the issue and should be more efficient.
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
GPencil: Change Interpolate shortcut to Ctrl+E
Before the shortcut was Ctrl+Alt+E, but it's more logic remove the Alt.
This was missed in rBee49ce482a797a5937829de497abd69bcd1edb48
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.
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
There was a weird bug in the API where a value of 0 gave a mask value of
1. I am not sure why this is but the current code works as desirable.
This was missed in rB6faa765af8954948de3cec75a2261a5aa139b4e5
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
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.
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
`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
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.
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.
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.
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.
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.
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.
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
nothing
Caused by rB6faa765af895.
Since above commit, we have to use paint.mask_box_gesture instead now.
Maniphest Tasks: T81926
Differential Revision: https://developer.blender.org/D9300
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
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