Age | Commit message (Collapse) | Author |
|
|
|
This was returning an empty allocated string, however almost
all callers checked if the return value was NULL before freeing,
making for misunderstandings on the intended use of this function.
BCAnimationSampler::initialize_curves for example detected the
f-curves animation type to 'bone' based on a non-NULL return value
which never failed.
Also fixes two leaks where the the result of BLI_str_quoted_substrN
wasn't freed.
|
|
BLI_str_quoted_substrN didn't unescape the resulting string,
yet all callers were using this with animation paths which are
created using BLI_str_escape().
- Fix BLI_str_quoted_substrN use with escaped strings by calling
BLI_str_unescape().
Note that it's possible we want an a version of this function that
keeps escape characters. This could be added if it's required.
- Fix end quote detection using BLI_str_escape_find_quote
checking for `\"` isn't reliable since an even number of back-slashes
before a quote means it's not escaped.
|
|
Duplicate logic for this exists in BLI_str_quoted_substrN,
which doesn't properly support escaping.
|
|
|
|
|
|
|
|
Use '_len' or '_line_number'.
|
|
|
|
Utility to perform the reverse of `bpy.utils.escape_identifier`
|
|
|
|
Add support for escaping \a, \b & \f for completeness,
currently it's not required.
|
|
Performs the reverse of BLI_str_escape.
This allows logic to be removed from RNA path handling.
|
|
|
|
Prepare for `BLI_str_unescape` which doesn't read well
without the separator.
|
|
The issue is caused by stale data on the Mesh Node which is not cleared
during synchronizing since the socket API refactor so that we can detect
changes. However, synchronization only updates the sockets of the Mesh,
so other properties were left with outdated values.
This caused an underflow when computing attribute size for undisplaced
coordinates as it was using the current number of vertices minus the
previous count of subdivision vertices, which at this point should be 0.
Added a simple method to clear non socket data. Also modified
Mesh.add_undisplaced to always use an ATTR_PRIM_GEOMETRY as the data is
not subdivided yet and it avoids any further issues regarding computing
attribute sizes.
|
|
|
|
This adds deformation types to snake hook and the elastic deformation
type. This mode deforms the mesh using a kelvinlet instead of applying
the displacement directly inside the brush radius, which is great for
stylized shapes sketching.
Changes in rake rotation when using elastic are too strong when set
to 1, so I'll add a nicer way to support rake rotations with smoother
transitions in the future.
Reviewed By: sergey, JulienKaspar
Differential Revision: https://developer.blender.org/D9560
|
|
This code hase been usused for 10 years and the right click menu is now
in python.
|
|
relation immediately
Texture and ParticleSettings have a DEG relation, but
`DEG_relations_tag_update` was not called when the texture changed.
This lead to no updates when e.g. texture size changes, relation only
went into full effect after save/reload or adding/removing keyframes.
Two places were additional relation tagging is needed:
- ParticleSettings `active_texture` changes
- ParticleSettingsTextureSlot (basically any TextureSlots') texture
changes
Maniphest Tasks: T82242
Differential Revision: https://developer.blender.org/D9393
|
|
The change to match socket color and category was already done, but it was missing
versioning code to update the theme on load.
Fixes T83500 (already closed as invalid, but this would solve the non-matching colors)
Reviewed by Hans Goudey (HooglyBoogly)
|
|
The SVM AO node calls "scene_intersect_local" with a NULL pointer for the intersection
information, which caused a crash with OptiX since it was not checking for this case and
always dereferencing this pointer. This fixes that by checking whether any hit information
was requested first (like is done in the BVH2 intersection routines).
|
|
|
|
This is a non-functional change. The functionality introduced in this commit
is not used in master yet. It is used by nodes that are being developed in
other branches though.
|
|
Before the number of samples was not checked, only the pixel size.
|
|
`t->keymap` can be `NULL`.
Bug introduced in rBc822f66bb83
|
|
Now the gizmo is drawn only when the eventstate located in
`wm->winactive->eventstate` has not changed.
So it doesn't matter if it's "selected" or not.
This commit also removes the use of the private header "wm.h"
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D9539
|
|
|
|
Windows
This is a workaround for T80804.
There's a startup crash that happens on 2.91.0 on Windows, an `EXCEPTION_ACCESS_VIOLATION`
on `atio6axx.dll`. It is triggered by `glClear` on the `detect_mip_render_workaround`
function. The workaround moves the function after the device/driver workaround section and
sets the flag to the affected one to avoid running the check.
It is deprecated hardware that has not meet the minimum requirements since 2.79, but is
still usable and this extends its usability a bit before the cards are finally blacklisted.
Reviewed By: Jeroen Bakker
Differential Revision: https://developer.blender.org/D9667
|
|
There is a patch that fixes the crash on startup {D9667}.
|
|
There is a workaround available by setting the environment variable `R600_DEBUG=nosb`.
|
|
This patch contains 2 scripts that will help with LTS releases
create_download_urls.py
This python script is used to generate the download urls which we can
copy-paste directly into the CMS of www.blender.org.
Usage: create_download_urls.py --version 2.83.7
Arguments:
--version VERSION Version string in the form of {major}.{minor}.{build}
(eg 2.83.7)
The resulting html will be printed to the console.
create_release_notes.py
=======================
This python script is used to generate the release notes which we can
copy-paste directly into the CMS of www.blender.org and stores.
Usage: ./create_release_notes.py --task=T77348 --version=2.83.7
Arguments:
--version VERSION Version string in the form of {major}.{minor}.{build}
(e.g. 2.83.7)
--task TASK Phabricator ticket that is contains the release notes
information (e.g. T77348)
--format FORMAT Format the result in `text`, `steam`, `wiki` or `html`
Requirements
============
* Python 3.8 or later
* Python phabricator client version 0.7.0
https://pypi.org/project/phabricator/
For convenience the python modules can be installed using pip.
pip3 install -r ./requirements.txt
Differential Revision: https://developer.blender.org/D9055
|
|
Error in commit a7b3047cefcbfae4d8b13e15026497fd5ae92730.
|
|
Missed this in 6c9263d817b7b4dcd4d6e1f365d1db0a83de6e51
|
|
Rename `rna_property` to `rna_custom_property`
to differentiate it from a more general property.
|
|
The Python API accepted a name with 64 bytes, clipping it to 63.
|
|
Custom property names wasn't escaping strings, causing exceptions
editing custom properties with characters that needed to be escaped.
|
|
Fix for T78823 resolved the issue reported but didn't
properly support multiple back-slashes.
|
|
This fixes inserting key-frames for any collection names
containing a back-slash too (bones, modifiers, sequence strips etc).
|
|
This reverts commit cbae82ba960a0baaae6437b176a310f078ce07d8.
This change introduced the following problems:
- We could no longer reliably duplicate or use an existing
custom property names.
- We could no longer assume a bone or ID name
can be used in a custom-property.
- Importers that support custom properties (such as FBX)
could fail with an exception creating custom properties.
|
|
|
|
This was added when Linux's audio support
often needed to be manually configured.
Further 3rd party libraries have their own environment variables & docs
these need not be part of Blender's help message unless they're likely
to be needed to properly run Blender.
|
|
|
|
Implement improvement from T73139 for merging along edges.
It is now called "Connected" mode, while the default is called "All".
With the recent performance improvement, the Connected Mode is in some
cases only double the speed than the usual merge all strategy but in
other cases it may be even faster. The bottleneck is somewhere further
down the line of merging geometry.
The motivation for this patch came from T80897, because the merging in
complex solidify is making it very slow.
Now merging can be removed from solidify without greater consequences,
as this is just a quicker and more advanced algorithm to do the same
thing that solidify currently does slowly.
Reviewed by: mano-wii, campbellbarton
Ref D8966
|
|
When opening a temporary File Browser, we have to make sure the file selection
parameters are refreshed. When opening it in a new Window that would always be
the case, if the File Browser uses a maximized window (as set in the
Preferences), it might reuse space-data from a previous use. So we have to
force the refresh.
Also renamed the relevant function to be more clear about what it's doing.
Mistake in 95b3c4c966f9.
|
|
Blender actually uses the ICS license, not ISC.
|
|
I also changed New BSD to BSD 3 Clause.
Differential Revision: https://developer.blender.org/D9791
|
|
This just makes sure that the mesh coming out of the subdivision
surface node has correct normals. Ideally, we would lazily compute
derived data like normals in more cases, but that can be solved later.
Correctness is more important right now.
In order to solve this better, it would be nice if functions like
`BKE_mesh_ensure_normals` would take a `const Mesh *`.
The mesh could be considered to be logically const, because
normals are derived data that is only cached for the current
state of the mesh.
|
|
Differential Revision: https://developer.blender.org/D9753
|
|
Buffer strokes weren't being the excluded from depth only draw calls
so were being included in depth tests. They are now excluded by
bypassing the creation of the buffer strokes.
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D9742
|