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:
authorFalk David <falkdavid@gmx.de>2021-01-06 19:53:37 +0300
committerFalk David <falkdavid@gmx.de>2021-01-06 19:54:44 +0300
commit5cdf279ef46fa8672d086d1f57025e31f477accc (patch)
treeffa42ae1494a3e5dfb9b356113fb11fdc75ca3bf /source/blender/editors/object/object_relations.c
parent6672cbeb236444541037e728759792b1208df0da (diff)
Fix T84420: Linking regular materials to gpencil
When using "Make Links"->"Materials" regular materials could be linked onto grease pencil objects. This caused a number of issues. The fix changes the `allow_make_links_data` function to make sure that if one object is of type `OB_GPENCIL`, the other has to be aswell. Reviewed By: antoniov Maniphest Tasks: T84420 Differential Revision: https://developer.blender.org/D10014
Diffstat (limited to 'source/blender/editors/object/object_relations.c')
-rw-r--r--source/blender/editors/object/object_relations.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index ee9ef192d18..acad1b43cbb 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -1567,7 +1567,11 @@ static bool allow_make_links_data(const int type, Object *ob_src, Object *ob_dst
}
break;
case MAKE_LINKS_MATERIALS:
- if (OB_TYPE_SUPPORT_MATERIAL(ob_src->type) && OB_TYPE_SUPPORT_MATERIAL(ob_dst->type)) {
+ if (OB_TYPE_SUPPORT_MATERIAL(ob_src->type) && OB_TYPE_SUPPORT_MATERIAL(ob_dst->type) &&
+ /* Linking non-grease-pencil materials to a grease-pencil object causes issues.
+ * We make sure that if one of the objects is a grease-pencil object, the other must be
+ * as well. */
+ ((ob_src->type == OB_GPENCIL) == (ob_dst->type == OB_GPENCIL))) {
return true;
}
break;