Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2020-12-08 11:40:42 +0300
committerBastien Montagne <bastien@blender.org>2020-12-08 11:40:42 +0300
commit682ccd770c629402b771491d45a0523f75750f30 (patch)
treefb37b6966691426464e7dd01f1e5b2372895974b
parent5f1a155a5ef39a4db144b38a607c19b763f965a3 (diff)
LibOverride: Refactor collection items 'local' helper functions.
It's easier to read and less 'weird' to check that an item is non-local in a liboverride data-block, than the other way around. Thanks to @sybren for noticing it.
-rw-r--r--source/blender/blenkernel/BKE_constraint.h4
-rw-r--r--source/blender/blenkernel/BKE_gpencil_modifier.h4
-rw-r--r--source/blender/blenkernel/BKE_modifier.h3
-rw-r--r--source/blender/blenkernel/intern/constraint.c6
-rw-r--r--source/blender/blenkernel/intern/gpencil_modifier.c12
-rw-r--r--source/blender/blenkernel/intern/modifier.c6
-rw-r--r--source/blender/editors/object/object_constraint.c5
-rw-r--r--source/blender/editors/object/object_gpencil_modifier.c6
-rw-r--r--source/blender/editors/object/object_modifier.c5
9 files changed, 27 insertions, 24 deletions
diff --git a/source/blender/blenkernel/BKE_constraint.h b/source/blender/blenkernel/BKE_constraint.h
index 1589bff7501..7a14787c191 100644
--- a/source/blender/blenkernel/BKE_constraint.h
+++ b/source/blender/blenkernel/BKE_constraint.h
@@ -177,8 +177,8 @@ struct bConstraint *BKE_constraint_find_from_target(struct Object *ob,
struct bConstraintTarget *tgt,
struct bPoseChannel **r_pchan);
-bool BKE_constraint_is_local_in_liboverride(const struct Object *ob,
- const struct bConstraint *con);
+bool BKE_constraint_is_nonlocal_in_liboverride(const struct Object *ob,
+ const struct bConstraint *con);
struct bConstraint *BKE_constraint_add_for_object(struct Object *ob, const char *name, short type);
struct bConstraint *BKE_constraint_add_for_pose(struct Object *ob,
diff --git a/source/blender/blenkernel/BKE_gpencil_modifier.h b/source/blender/blenkernel/BKE_gpencil_modifier.h
index bdc583048b8..ccf65a585ef 100644
--- a/source/blender/blenkernel/BKE_gpencil_modifier.h
+++ b/source/blender/blenkernel/BKE_gpencil_modifier.h
@@ -278,8 +278,8 @@ void BKE_gpencil_modifiers_foreach_tex_link(struct Object *ob,
GreasePencilTexWalkFunc walk,
void *userData);
-bool BKE_gpencil_modifier_is_local_in_liboverride(const struct Object *ob,
- const struct GpencilModifierData *gmd);
+bool BKE_gpencil_modifier_is_nonlocal_in_liboverride(const struct Object *ob,
+ const struct GpencilModifierData *gmd);
typedef struct GpencilVirtualModifierData {
ArmatureGpencilModifierData amd;
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h
index 37f566d6f8e..73e33124b43 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -431,7 +431,8 @@ bool BKE_modifier_is_non_geometrical(ModifierData *md);
bool BKE_modifier_is_enabled(const struct Scene *scene,
struct ModifierData *md,
int required_mode);
-bool BKE_modifier_is_local_in_liboverride(const struct Object *ob, const struct ModifierData *md);
+bool BKE_modifier_is_nonlocal_in_liboverride(const struct Object *ob,
+ const struct ModifierData *md);
void BKE_modifier_set_error(const struct Object *ob,
struct ModifierData *md,
const char *format,
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index 982e91dd1e0..d9135572159 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -5963,10 +5963,10 @@ static bConstraint *constraint_find_original_for_update(bConstraintOb *cob, bCon
*
* \note This check is only valid for a liboverride data-block, it always return \a true otherwise.
*/
-bool BKE_constraint_is_local_in_liboverride(const Object *ob, const bConstraint *con)
+bool BKE_constraint_is_nonlocal_in_liboverride(const Object *ob, const bConstraint *con)
{
- return (!ID_IS_OVERRIDE_LIBRARY(ob) ||
- (con != NULL && (con->flag & CONSTRAINT_OVERRIDE_LIBRARY_LOCAL) != 0));
+ return (ID_IS_OVERRIDE_LIBRARY(ob) &&
+ (con == NULL || (con->flag & CONSTRAINT_OVERRIDE_LIBRARY_LOCAL) == 0));
}
/* -------- Constraints and Proxies ------- */
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index 7425a1a5f7a..ac81e4a5470 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -531,16 +531,16 @@ void BKE_gpencil_modifier_set_error(GpencilModifierData *md, const char *_format
}
/**
- * Check whether given modifier is local when the object is a library override.
+ * Check whether given modifier is not local (i.e. from linked data) when the object is a library
+ * override.
*
* \param gmd May be NULL, in which case we consider it as a non-local modifier case.
- *
- * \note This check is only valid for a liboverride data-block, it always return \a true otherwise.
*/
-bool BKE_gpencil_modifier_is_local_in_liboverride(const Object *ob, const GpencilModifierData *gmd)
+bool BKE_gpencil_modifier_is_nonlocal_in_liboverride(const Object *ob,
+ const GpencilModifierData *gmd)
{
- return (!ID_IS_OVERRIDE_LIBRARY(ob) ||
- (gmd != NULL && (gmd->flag & eGpencilModifierFlag_OverrideLibrary_Local) != 0));
+ return (ID_IS_OVERRIDE_LIBRARY(ob) &&
+ (gmd == NULL || (gmd->flag & eGpencilModifierFlag_OverrideLibrary_Local) == 0));
}
/**
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c
index 7865d44c446..405de3bdca1 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -581,10 +581,10 @@ bool BKE_modifier_is_enabled(const struct Scene *scene, ModifierData *md, int re
*
* \note This check is only valid for a liboverride data-block, it always return \a true otherwise.
*/
-bool BKE_modifier_is_local_in_liboverride(const Object *ob, const ModifierData *md)
+bool BKE_modifier_is_nonlocal_in_liboverride(const Object *ob, const ModifierData *md)
{
- return (!ID_IS_OVERRIDE_LIBRARY(ob) ||
- (md != NULL && (md->flag & eModifierFlag_OverrideLibrary_Local) != 0));
+ return (ID_IS_OVERRIDE_LIBRARY(ob) &&
+ (md == NULL || (md->flag & eModifierFlag_OverrideLibrary_Local) == 0));
}
CDMaskLink *BKE_modifier_calc_data_masks(struct Scene *scene,
diff --git a/source/blender/editors/object/object_constraint.c b/source/blender/editors/object/object_constraint.c
index e684ad03f53..dd015f59e8d 100644
--- a/source/blender/editors/object/object_constraint.c
+++ b/source/blender/editors/object/object_constraint.c
@@ -706,8 +706,9 @@ static bool edit_constraint_poll_generic(bContext *C,
return false;
}
- if (!is_liboverride_allowed && !BKE_constraint_is_local_in_liboverride(ob, con)) {
- CTX_wm_operator_poll_msg_set(C, "Cannot edit constraints coming from library override");
+ if (!is_liboverride_allowed && BKE_constraint_is_nonlocal_in_liboverride(ob, con)) {
+ CTX_wm_operator_poll_msg_set(
+ C, "Cannot edit constraints coming from linked data in a library override");
return false;
}
diff --git a/source/blender/editors/object/object_gpencil_modifier.c b/source/blender/editors/object/object_gpencil_modifier.c
index d3f165678c3..af95f5581bd 100644
--- a/source/blender/editors/object/object_gpencil_modifier.c
+++ b/source/blender/editors/object/object_gpencil_modifier.c
@@ -443,9 +443,9 @@ static bool gpencil_edit_modifier_poll_generic(bContext *C,
return false;
}
- if (!is_liboverride_allowed &&
- (mod == NULL || !BKE_gpencil_modifier_is_local_in_liboverride(ob, mod))) {
- CTX_wm_operator_poll_msg_set(C, "Cannot edit modifiers coming from library override");
+ if (!is_liboverride_allowed && BKE_gpencil_modifier_is_nonlocal_in_liboverride(ob, mod)) {
+ CTX_wm_operator_poll_msg_set(
+ C, "Cannot edit modifiers coming from linked data in a library override");
return false;
}
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index bb4581b0ee8..3111003703f 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -1052,8 +1052,9 @@ bool edit_modifier_poll_generic(bContext *C,
return false;
}
- if (!is_liboverride_allowed && !BKE_modifier_is_local_in_liboverride(ob, mod)) {
- CTX_wm_operator_poll_msg_set(C, "Cannot edit modifiers coming from library override");
+ if (!is_liboverride_allowed && BKE_modifier_is_nonlocal_in_liboverride(ob, mod)) {
+ CTX_wm_operator_poll_msg_set(
+ C, "Cannot edit modifiers coming from linked data in a library override");
return false;
}