diff options
-rw-r--r-- | source/blender/blenkernel/BKE_library.h | 4 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library.c | 24 | ||||
-rw-r--r-- | source/blender/blenloader/intern/versioning_250.c | 2 |
3 files changed, 15 insertions, 15 deletions
diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h index 9409c8710d6..34ea5505750 100644 --- a/source/blender/blenkernel/BKE_library.h +++ b/source/blender/blenkernel/BKE_library.h @@ -187,7 +187,7 @@ void id_sort_by_name(struct ListBase *lb, struct ID *id); void BKE_id_expand_local(struct Main *bmain, struct ID *id); void BKE_id_copy_ensure_local(struct Main *bmain, const struct ID *old_id, struct ID *new_id); -bool new_id(struct ListBase *lb, struct ID *id, const char *name) ATTR_NONNULL(1, 2); +bool BKE_id_new_name_validate(struct ListBase *lb, struct ID *id, const char *name) ATTR_NONNULL(1, 2); void id_clear_lib_data(struct Main *bmain, struct ID *id); void id_clear_lib_data_ex(struct Main *bmain, struct ID *id, const bool id_in_mainlist); @@ -227,7 +227,7 @@ bool BKE_id_is_in_global_main(struct ID *id); void BKE_id_ordered_list(struct ListBase *ordered_lb, const struct ListBase *lb); void BKE_id_reorder(const struct ListBase *lb, struct ID *id, struct ID *relative, bool after); -/* use when "" is given to new_id() */ +/* use when "" is given to BKE_id_new_name_validate() */ #define ID_FALLBACK_NAME N_("Untitled") #define IS_TAGGED(_id) ((_id) && (((ID *)_id)->tag & LIB_TAG_DOIT)) diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c index 53eee87726c..fa988c34683 100644 --- a/source/blender/blenkernel/intern/library.c +++ b/source/blender/blenkernel/intern/library.c @@ -843,7 +843,7 @@ void BKE_libblock_management_main_add(Main *bmain, void *idv) ListBase *lb = which_libbase(bmain, GS(id->name)); BKE_main_lock(bmain); BLI_addtail(lb, id); - new_id(lb, id, NULL); + BKE_id_new_name_validate(lb, id, NULL); /* alphabetic insertion: is in new_id */ id->tag &= ~(LIB_TAG_NO_MAIN | LIB_TAG_NO_USER_REFCOUNT); bmain->is_memfile_undo_written = false; @@ -993,7 +993,7 @@ void BKE_main_id_repair_duplicate_names_listbase(ListBase *lb) } for (i = 0; i < lb_len; i++) { if (!BLI_gset_add(gset, id_array[i]->name + 2)) { - new_id(lb, id_array[i], NULL); + BKE_id_new_name_validate(lb, id_array[i], NULL); } } BLI_gset_free(gset, NULL); @@ -1125,7 +1125,7 @@ void *BKE_libblock_alloc(Main *bmain, short type, const char *name, const int fl BKE_main_lock(bmain); BLI_addtail(lb, id); - new_id(lb, id, name); + BKE_id_new_name_validate(lb, id, name); bmain->is_memfile_undo_written = false; /* alphabetic insertion: is in new_id */ BKE_main_unlock(bmain); @@ -1571,14 +1571,14 @@ static bool check_for_dupid(ListBase *lb, ID *id, char *name) #undef MAX_IN_USE } -/* - * Only for local blocks: external en indirect blocks already have a - * unique ID. +/** + * Ensures given ID has a unique name in given listbase. * - * return true: created a new name + * Only for local IDs (linked ones already have a unique ID in their library). + * + * \return true if a new name had to be created. */ - -bool new_id(ListBase *lb, ID *id, const char *tname) +bool BKE_id_new_name_validate(ListBase *lb, ID *id, const char *tname) { bool result; char name[MAX_ID_NAME - 2]; @@ -1637,7 +1637,7 @@ void id_clear_lib_data_ex(Main *bmain, ID *id, const bool id_in_mainlist) id->lib = NULL; id->tag &= ~(LIB_TAG_INDIRECT | LIB_TAG_EXTERN); if (id_in_mainlist) { - if (new_id(which_libbase(bmain, GS(id->name)), id, NULL)) { + if (BKE_id_new_name_validate(which_libbase(bmain, GS(id->name)), id, NULL)) { bmain->is_memfile_undo_written = false; } } @@ -2015,7 +2015,7 @@ void BLI_libblock_ensure_unique_name(Main *bmain, const char *name) /* search for id */ idtest = BLI_findstring(lb, name + 2, offsetof(ID, name) + 2); if (idtest != NULL) { - if (!new_id(lb, idtest, idtest->name + 2)) { + if (!BKE_id_new_name_validate(lb, idtest, idtest->name + 2)) { id_sort_by_name(lb, idtest); } bmain->is_memfile_undo_written = false; @@ -2028,7 +2028,7 @@ void BLI_libblock_ensure_unique_name(Main *bmain, const char *name) void BKE_libblock_rename(Main *bmain, ID *id, const char *name) { ListBase *lb = which_libbase(bmain, GS(id->name)); - if (new_id(lb, id, name)) { + if (BKE_id_new_name_validate(lb, id, name)) { bmain->is_memfile_undo_written = false; } } diff --git a/source/blender/blenloader/intern/versioning_250.c b/source/blender/blenloader/intern/versioning_250.c index ab518646565..59a1b57911c 100644 --- a/source/blender/blenloader/intern/versioning_250.c +++ b/source/blender/blenloader/intern/versioning_250.c @@ -441,7 +441,7 @@ static void versions_gpencil_add_main(ListBase *lb, ID *id, const char *name) id->flag = LIB_FAKEUSER; *( (short *)id->name) = ID_GD; - new_id(lb, id, name); + BKE_id_new_name_validate(lb, id, name); /* alphabetic insertion: is in new_id */ if (G.debug & G_DEBUG) |