Only the assets/publish folder was moved in #137219, which broke the
`make icons_geom` command for generating toolbar icons since the
submodule is now gone.
This patch moves the icons folder into a new
`release/datafiles/icons_blend` folder and updates
`blender_icons_geom_update.py` to fix the problem.
Pull Request: https://projects.blender.org/blender/blender/pulls/142639
No functional changes.
This deals with the TODO
`/* TODO(sergey): How to ensure this is a constexpr? */`
by just making it a `constexpr`.
The line in question was `square_f(0.000001f)`
so the constexpr is just `0.000001f * 0.000001f`
Pull Request: https://projects.blender.org/blender/blender/pulls/142872
Use Principled BSDF instead of Diffuse BSDF. This is a breaking change but
likely does not affect many scenes significantly. It adds some specularity
when an object does not have a a material assigned.
Fix#142538
Pull Request: https://projects.blender.org/blender/blender/pulls/142703
The Join Selection operator can remove the original selected points, but
this often removes the wrong points. The reason is that the point ranges
are removed sequentially, and each removal changes the curve topology,
invalidating subsequent ranges. The solution is to combine the ranges
into a single index mask for each drawing before removing points, so
that each drawing is only modified in a single operation.
Pull Request: https://projects.blender.org/blender/blender/pulls/142834
This suppreses -Wnonnull compiler warnings that would previously appear
when trying to pass a nullptr title to this function.
Internally, this function passes its `title` argument to `WM_window_open()`,
which in turn passes it to `WM_window_title()`, which can take a nullptr
as a title, in which case the title is computed dynamically from the
window area name.
In #139438 we added three path template variables that get their values
from user-specified names:
- `scene_name`
- `camera_name`
- `node_name`
These names can contain characters that are illegal in filenames on some
systems, and also characters like "/" that would be interpreted as path
separators in a filepath. This can lead to unexpected outcomes.
For example, if a node's name is "Hue/Saturation" and the `{node_name}`
variable is used in a path, it would result in a "Hue" directory which
in turn contains a "Saturation" file. This is almost certainly not what
the user intended, because the slash in that name is not semantically
supposed to be a path separator.
This PR addresses this problem by splitting string variables into two
types: strings and filepaths. The contents of string variables are
sanitized to be valid filenames when substituted into a path template,
but the contents of filepath variables are left as-is.
Variables such as `blend_name`, `blend_dir`, etc. that actually
represent path components are then added as filepath variables, while
variables such as `scene_name` that represent plain strings without path
semantics are added as string variables.
Pull Request: https://projects.blender.org/blender/blender/pulls/142679
The commit `b3a5d03bd0` introduced a new draw option for cage gizmos to
draw corners. This was turned off by default to prevent it being
visible in circular 2d gizmos.
This fix turns the corner draw option back on explicitly. Note: The
relevant 2D gizmo already sets `ED_GIZMO_CAGE_XFORM_FLAG_SCALE`, so no
changes in transform options are required.
Pull Request: https://projects.blender.org/blender/blender/pulls/142840
If importing keymap with the same name as the built-in ones (like
"Blender", "Industrial Compatible"), those entries will become stale and
can't be removed from the UI because when removing preset it checks the
name against builtin ones. This patch fixes the problem from the
importing side and disallow names that are the same with builtin ones
from being imported (They will be renamed upon importing).
Pull Request: https://projects.blender.org/blender/blender/pulls/142697
Adding a custom node socket in a node group fails, because the socket
type no longer passes the poll function.
Socket type polling for generated enum items was changed in #138824:
The socket type enum is based on the position in the socket types list,
but regular sockets generate many subtypes that should not appear in the
enum. Therefore only the "base type" of the socket is used for the enum
entry. Custom sockets, however, do not have a base type and are used
directly. This broke because now any socket type without a base type
is always rejected.
Fixed by handling a missing base type as indicator that the socket type
should be used directly.
Pull Request: https://projects.blender.org/blender/blender/pulls/142816
When hovering on a matrix field socket, `get_field_type_name` can fail
because of missing `float4x4` case. Now it will properly return a
"Matrix Field" name.
Pull Request: https://projects.blender.org/blender/blender/pulls/142794
Now that multi-select works with shape key, support deleting selected
keyblocks. New function `shape_key_is_selected` being introduced that
returns true for selected/active shape keys
Co-authored-by: Sybren A. Stüvel <sybren@blender.org>
Pull Request: https://projects.blender.org/blender/blender/pulls/141881
Crash popups were being displayed even when Blender was running in
background mode, causing the process to hang and blocking automated
workflows (e.g., render farms).
Therefore, disable the crash popup when running in background mode.
Pull Request: https://projects.blender.org/blender/blender/pulls/142518
BLI_snprintf and related functions could truncate partial UTF8
code-points, which would then cause problems elsewhere -
Python raises an exception when accessing for example.
Existing uses of BLI_snprintf should use the UTF8 versions in most
cases, except for file paths which are not required to be UTF8.
This fixes a bug caused by 96e549c092. Before the change, the
`randomize_color` function passed through the `color.a` value in the
returned rgba color. The alpha is `1` when the color mode is Color
Attribute and `0` when it's Material. After the patch, it was hard
coded to `1`. This fixes it by passing the `color.a` back through
again.
Pull Request: https://projects.blender.org/blender/blender/pulls/142642
At low scale and on regular DPI displays the editor outline, being just
a single pixel can sometimes look blurry. Padding by half a pixel (that
is not increased with scale, DPI, or line size) avoids this blurriness.
Pull Request: https://projects.blender.org/blender/blender/pulls/142777
Switching to full screen mode with panel hiding normally shows a button
at the top-right to switch back. But only for RGN_TYPE_WINDOW regions.
This PR just adds RGN_TYPE_PREVIEW to the regions that show this.
Pull Request: https://projects.blender.org/blender/blender/pulls/142754