Changes to rename_id function:

* Don't copy name before entering new_id function. new_id does that for
us already.

* Take a main argument to make the function possible to use with
different databases

* Append BKE_ to rename_id
This commit is contained in:
Antonis Ryakiotakis 2015-12-27 23:22:43 +01:00
parent c4c3d84d58
commit 540ab7a55a
4 changed files with 8 additions and 6 deletions

View File

@ -109,7 +109,7 @@ void BKE_main_id_clear_newpoins(struct Main *bmain);
void BKE_main_lib_objects_recalc_all(struct Main *bmain);
void rename_id(struct ID *id, const char *name);
void BKE_rename_id(struct Main *bmain, struct ID *id, const char *name);
void name_uiprefix_id(char *name, const struct ID *id);
void test_idbutton(char *name);

View File

@ -1831,12 +1831,14 @@ void test_idbutton(char *name)
/**
* Sets the name of a block to name, suitably adjusted for uniqueness.
*/
void rename_id(ID *id, const char *name)
void BKE_rename_id(Main *bmain, ID *id, const char *name)
{
ListBase *lb;
BLI_strncpy(id->name + 2, name, sizeof(id->name) - 2);
lb = which_libbase(G.main, GS(id->name));
if (!bmain)
bmain = G.main;
lb = which_libbase(bmain, GS(id->name));
new_id(lb, id, name);
}

View File

@ -234,7 +234,7 @@ void BLO_update_defaults_startup_blend(Main *bmain)
br = (Brush *)BKE_libblock_find_name_ex(bmain, ID_BR, "Twist");
if (br)
{
rename_id(&br->id, "Rotate");
BKE_rename_id(bmain, &br->id, "Rotate");
}
}
}

View File

@ -654,7 +654,7 @@ std::vector<Object *> *DocumentImporter::write_node(COLLADAFW::Node *node, COLLA
for (std::vector<Object *>::iterator it = objects_done->begin(); it != objects_done->end(); ++it) {
ob = *it;
std::string nodename = node->getName().size() ? node->getName() : node->getOriginalId();
rename_id(&ob->id, (char *)nodename.c_str());
BKE_rename_id(NULL, &ob->id, (char *)nodename.c_str());
object_map.insert(std::pair<COLLADAFW::UniqueId, Object *>(node->getUniqueId(), ob));
node_map[node->getUniqueId()] = node;