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
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user