diff options
author | Julian Eisel <eiseljulian@gmail.com> | 2017-03-03 14:55:35 +0300 |
---|---|---|
committer | Julian Eisel <eiseljulian@gmail.com> | 2017-03-03 14:55:35 +0300 |
commit | 2a82162618f7b8325a59fe42336b2a5f215e7080 (patch) | |
tree | bd79cd69f936ace1acf7269a19efbfbbc37689a0 /source/blender/blenkernel/intern/library_remap.c | |
parent | 22df0b2fe2998d51b6ca612867a995f848345f8d (diff) | |
parent | c0d0ef142fce15b839c369e9f7413c36b72aa8cb (diff) |
Merge branch 'master' into blender2.8
Conflicts:
source/blender/editors/armature/pose_select.c
source/blender/editors/include/ED_armature.h
Diffstat (limited to 'source/blender/blenkernel/intern/library_remap.c')
-rw-r--r-- | source/blender/blenkernel/intern/library_remap.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/library_remap.c b/source/blender/blenkernel/intern/library_remap.c index 76af032c37f..7f290590942 100644 --- a/source/blender/blenkernel/intern/library_remap.c +++ b/source/blender/blenkernel/intern/library_remap.c @@ -180,6 +180,7 @@ static int foreach_libblock_remap_callback(void *user_data, ID *id_self, ID **id * on the other hand since they get reset to lib data on file open/reload it is indirect too... * Edit Mode is also a 'skip direct' case. */ const bool is_obj = (GS(id->name) == ID_OB); + const bool is_obj_proxy = (is_obj && (((Object *)id)->proxy || ((Object *)id)->proxy_group)); const bool is_obj_editmode = (is_obj && BKE_object_is_in_editmode((Object *)id)); const bool is_never_null = ((cb_flag & IDWALK_CB_NEVER_NULL) && (new_id == NULL) && (id_remap_data->flag & ID_REMAP_FORCE_NEVER_NULL_USAGE) == 0); @@ -232,7 +233,7 @@ static int foreach_libblock_remap_callback(void *user_data, ID *id_self, ID **id /* We cannot affect old_id->us directly, LIB_TAG_EXTRAUSER(_SET) are assumed to be set as needed, * that extra user is processed in final handling... */ } - if (!is_indirect) { + if (!is_indirect || is_obj_proxy) { id_remap_data->status |= ID_REMAP_IS_LINKED_DIRECT; } } |