LibOverride resync process would not properly 'make local' newly created overrides (copied from their linked reference). The main consequence was that some linked data used by these new liboverrides would not be properly tagged as directly linked. While this would not be an issue in current codebase, this was breaking upcomming readfile undo refactor, since some linked data did not get their local 'placeholder reference' data written in memfile blendfiles. NOTE: this is more of a quick fix, whole handling of library data in complex copying cases like that need some more general work, see #107848 and #107847.
31 lines
609 B
C
31 lines
609 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
* Copyright 2018 Blender Foundation */
|
|
|
|
/** \file
|
|
* \ingroup bke
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "BKE_lib_remap.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
extern BKE_library_free_notifier_reference_cb free_notifier_reference_cb;
|
|
|
|
extern BKE_library_remap_editor_id_reference_cb remap_editor_id_reference_cb;
|
|
|
|
struct ID;
|
|
struct Main;
|
|
|
|
void lib_id_copy_ensure_local(struct Main *bmain,
|
|
const struct ID *old_id,
|
|
struct ID *new_id,
|
|
const int flags);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|