Cleanup/Fix outliner 'make local' code.
While likely harmless, this code was doing extremely bad thing, by-passing the whole lower-level `BKE_lib_id_make_local` call in case it would fail and deciding by itself to forcefully make the given ID local. Bad. Very, very, very bad.
This commit is contained in:
parent
e04a10adab
commit
3deb56424f
|
@ -737,13 +737,8 @@ static void id_local_fn(bContext *C,
|
|||
{
|
||||
if (ID_IS_LINKED(tselem->id) && (tselem->id->tag & LIB_TAG_EXTERN)) {
|
||||
Main *bmain = CTX_data_main(C);
|
||||
/* if the ID type has no special local function,
|
||||
* just clear the lib */
|
||||
if (!BKE_lib_id_make_local(bmain, tselem->id, 0)) {
|
||||
BKE_lib_id_clear_library_data(bmain, tselem->id);
|
||||
}
|
||||
else {
|
||||
BKE_main_id_newptr_and_tag_clear(bmain);
|
||||
if (BKE_lib_id_make_local(bmain, tselem->id, 0)) {
|
||||
BKE_id_newptr_and_tag_clear(tselem->id);
|
||||
}
|
||||
}
|
||||
else if (ID_IS_OVERRIDE_LIBRARY_REAL(tselem->id)) {
|
||||
|
|
Loading…
Reference in New Issue