diff options
Diffstat (limited to 'source/blender/blenkernel/intern/text.c')
-rw-r--r-- | source/blender/blenkernel/intern/text.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c index 86c7f6fcd1a..3a311bfb23b 100644 --- a/source/blender/blenkernel/intern/text.c +++ b/source/blender/blenkernel/intern/text.c @@ -455,17 +455,7 @@ Text *BKE_text_copy(Main *bmain, Text *ta) /* file name can be NULL */ if (ta->name) { - if (ta->id.lib && BLI_path_is_rel(ta->name)) { - char tname[FILE_MAXFILE]; - /* If path is relative, and source is a lib, path is relative to lib file, not main one! */ - BLI_strncpy(tname, ta->name, sizeof(tname)); - BLI_path_abs(tname, ta->id.lib->filepath); - BLI_path_rel(tname, bmain->name); - tan->name = BLI_strdup(tname); - } - else { - tan->name = BLI_strdup(ta->name); - } + tan->name = BLI_strdup(ta->name); } else { tan->name = NULL; @@ -499,6 +489,10 @@ Text *BKE_text_copy(Main *bmain, Text *ta) init_undo_text(tan); + if (ta->id.lib) { + BKE_id_lib_local_paths(bmain, ta->id.lib, &tan->id); + } + return tan; } |