Sculpt: Improve Expand performance #120125
@ -29,7 +29,7 @@ class VIEW3D_PT_animation_layers(Panel):
|
||||
layout.use_property_split = True
|
||||
layout.use_property_decorate = False
|
||||
|
||||
# FIXME: this should be done in response to a message-bus callback, notifier, whatnot.
|
||||
# FIXME: this should be done in response to a messagebus callback, notifier, whatnot.
|
||||
adt = context.object.animation_data
|
||||
with _wm_selected_animation_lock:
|
||||
if adt:
|
||||
@ -38,7 +38,7 @@ class VIEW3D_PT_animation_layers(Panel):
|
||||
context.window_manager.selected_animation = None
|
||||
|
||||
col = layout.column()
|
||||
# This has to go via an auxiliary property, as assigning an Animation
|
||||
# This has to go via an auxillary property, as assigning an Animation
|
||||
# data-block should be possible even when `context.object.animation_data`
|
||||
# is `None`, and thus its `animation` property does not exist.
|
||||
col.template_ID(context.window_manager, 'selected_animation')
|
||||
|
@ -184,8 +184,8 @@ class Strip : public ::AnimationStrip {
|
||||
*
|
||||
* The reason is that various functions will assume that the `Strip` is actually a down-cast
|
||||
* instance of another strip class, and that `Strip::type()` will say which type. To avoid having
|
||||
* to explicitly deal with an 'invalid' type everywhere, creating a `Strip` directly is simply
|
||||
* not allowed.
|
||||
* to explcitly deal with an 'invalid' type everywhere, creating a `Strip` directly is simply not
|
||||
* allowed.
|
||||
*/
|
||||
Strip() = delete;
|
||||
|
||||
@ -443,14 +443,14 @@ static_assert(sizeof(ChannelBag) == sizeof(::AnimationChannelBag),
|
||||
*
|
||||
* - By binding handle.
|
||||
* - By fallback string.
|
||||
* - By the ID's name (matching against the binding name).
|
||||
* - By the ID's name (matching agains the binding name).
|
||||
* - If the above do not find a suitable binding, the animated ID will not
|
||||
* receive any animation and the caller is responsible for creating a binding
|
||||
* receive any animation and the calller is responsible for creating a binding
|
||||
* and assigning it.
|
||||
*
|
||||
* \return `false` if the assignment was not possible (for example the ID is of a type that cannot
|
||||
* be animated). If the above fall-through case of "no binding found" is reached, this function
|
||||
* will still return `true` as the Animation was successfully assigned.
|
||||
* will still return `true` as the Animation was succesfully assigned.
|
||||
*/
|
||||
bool assign_animation(Animation &anim, ID &animated_id);
|
||||
|
||||
|
@ -186,7 +186,7 @@ Binding *Animation::binding_for_handle(const binding_handle_t handle)
|
||||
|
||||
const Binding *Animation::binding_for_handle(const binding_handle_t handle) const
|
||||
{
|
||||
/* TODO: implement hash-map lookup. */
|
||||
/* TODO: implement hashmap lookup. */
|
||||
for (const Binding *binding : bindings()) {
|
||||
if (binding->handle == handle) {
|
||||
return binding;
|
||||
@ -236,7 +236,7 @@ void Animation::binding_name_define(Binding &binding, const StringRefNull new_na
|
||||
|
||||
void Animation::binding_name_propagate(Main &bmain, const Binding &binding)
|
||||
{
|
||||
/* Just loop over all animatable IDs in the main database. */
|
||||
/* Just loop over all animatable IDs in the main dataabase. */
|
||||
ListBase *lb;
|
||||
ID *id;
|
||||
FOREACH_MAIN_LISTBASE_BEGIN (&bmain, lb) {
|
||||
|
@ -33,7 +33,7 @@ class AnimationLayersTest : public testing::Test {
|
||||
|
||||
static void SetUpTestSuite()
|
||||
{
|
||||
/* BKE_id_free() hits a code path that uses CLOG, which crashes if not initialized properly. */
|
||||
/* BKE_id_free() hits a code path that uses CLOG, which crashes if not initialised properly. */
|
||||
CLG_init();
|
||||
|
||||
/* To make id_can_have_animdata() and friends work, the `id_types` array needs to be set up. */
|
||||
@ -248,7 +248,7 @@ TEST_F(AnimationLayersTest, rename_binding)
|
||||
EXPECT_STREQ("New Binding Name", out_cube.name);
|
||||
/* At this point the binding name will not have been copied to the cube
|
||||
* AnimData. However, I don't want to test for that here, as it's not exactly
|
||||
* desirable behavior, but more of a side-effect of the current
|
||||
* desirable behaviour, but more of a side-effect of the current
|
||||
* implementation. */
|
||||
|
||||
anim->binding_name_propagate(*bmain, out_cube);
|
||||
|
@ -47,8 +47,8 @@ void Manager::begin_sync()
|
||||
acquired_textures.clear();
|
||||
layer_attributes.clear();
|
||||
|
||||
/* For some reason, if this uninitialized data pattern was enabled (ie release asserts enabled),
|
||||
* The viewport just gives up rendering objects on ARM64 devices. Possibly Mesa GLOn12-related. */
|
||||
// For some reason, if this uninitialised data pattern was enabled (ie release asserts enabled),
|
||||
// The viewport just gives up rendering objects on ARM64 devices. Possibly Mesa GLOn12-related.
|
||||
#if !defined(NDEBUG) && !defined(_M_ARM64)
|
||||
/* Detect uninitialized data. */
|
||||
memset(matrix_buf.current().data(),
|
||||
|
@ -405,7 +405,6 @@ dict_custom = {
|
||||
"unapplied",
|
||||
"unapply",
|
||||
"unassign",
|
||||
"unassigning",
|
||||
"unassociated",
|
||||
"unbake",
|
||||
"unbuffered",
|
||||
|
Loading…
Reference in New Issue
Block a user