diff options
-rw-r--r-- | source/blender/blenkernel/intern/library_query.c | 3 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/material.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c index 27a2916ef92..bed2244702f 100644 --- a/source/blender/blenkernel/intern/library_query.c +++ b/source/blender/blenkernel/intern/library_query.c @@ -673,6 +673,9 @@ void BKE_library_foreach_ID_link(Main *bmain, ID *id, LibraryIDLinkCallback call } CALLBACK_INVOKE(material->group, IDWALK_CB_USER); CALLBACK_INVOKE(material->edit_image, IDWALK_CB_USER); + if (material->texpaintslot != NULL) { + CALLBACK_INVOKE(material->texpaintslot->ima, IDWALK_CB_NOP); + } break; } diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c index a0059a99473..2971f56c775 100644 --- a/source/blender/blenkernel/intern/material.c +++ b/source/blender/blenkernel/intern/material.c @@ -261,6 +261,10 @@ void BKE_material_copy_data(Main *bmain, Material *ma_dst, const Material *ma_sr ma_dst->preview = NULL; } + if (ma_src->texpaintslot != NULL) { + ma_dst->texpaintslot = MEM_dupallocN(ma_src->texpaintslot); + } + BLI_listbase_clear(&ma_dst->gpumaterial); /* TODO Duplicate Engine Settings and set runtime to NULL */ |