[Bf-blender-cvs] [bcc66a9e9e9] compositor-anti-aliasing: Revert "Improve Purge operator." and Refactor: IDTypeInfo: Add `owner_get` to get owner of embedded IDs.
Habib Gahbiche
noreply at git.blender.org
Sun Feb 28 17:45:08 CET 2021
Commit: bcc66a9e9e9455b5ee5bfcbc06b80b3e2fae79d5
Author: Habib Gahbiche
Date: Sun Feb 28 16:29:57 2021 +0100
Branches: compositor-anti-aliasing
https://developer.blender.org/rBbcc66a9e9e9455b5ee5bfcbc06b80b3e2fae79d5
Revert "Improve Purge operator." and Refactor: IDTypeInfo: Add `owner_get` to get owner of embedded IDs.
This reverts commit 2718ea80d26274464051c50bb12fb82c4a6571ea.
===================================================================
M release/scripts/startup/bl_ui/space_topbar.py
M source/blender/blenkernel/BKE_collection.h
M source/blender/blenkernel/BKE_idtype.h
M source/blender/blenkernel/BKE_lib_query.h
M source/blender/blenkernel/BKE_node.h
M source/blender/blenkernel/intern/action.c
M source/blender/blenkernel/intern/armature.c
M source/blender/blenkernel/intern/brush.c
M source/blender/blenkernel/intern/cachefile.c
M source/blender/blenkernel/intern/camera.c
M source/blender/blenkernel/intern/collection.c
M source/blender/blenkernel/intern/curve.c
M source/blender/blenkernel/intern/font.c
M source/blender/blenkernel/intern/gpencil.c
M source/blender/blenkernel/intern/hair.c
M source/blender/blenkernel/intern/image.c
M source/blender/blenkernel/intern/ipo.c
M source/blender/blenkernel/intern/key.c
M source/blender/blenkernel/intern/lattice.c
M source/blender/blenkernel/intern/lib_query.c
M source/blender/blenkernel/intern/library.c
M source/blender/blenkernel/intern/light.c
M source/blender/blenkernel/intern/lightprobe.c
M source/blender/blenkernel/intern/linestyle.c
M source/blender/blenkernel/intern/mask.c
M source/blender/blenkernel/intern/material.c
M source/blender/blenkernel/intern/mball.c
M source/blender/blenkernel/intern/mesh.c
M source/blender/blenkernel/intern/movieclip.c
M source/blender/blenkernel/intern/node.cc
M source/blender/blenkernel/intern/object.c
M source/blender/blenkernel/intern/paint.c
M source/blender/blenkernel/intern/particle.c
M source/blender/blenkernel/intern/pointcloud.cc
M source/blender/blenkernel/intern/scene.c
M source/blender/blenkernel/intern/screen.c
M source/blender/blenkernel/intern/simulation.cc
M source/blender/blenkernel/intern/sound.c
M source/blender/blenkernel/intern/speaker.c
M source/blender/blenkernel/intern/text.c
M source/blender/blenkernel/intern/texture.c
M source/blender/blenkernel/intern/volume.cc
M source/blender/blenkernel/intern/workspace.c
M source/blender/blenkernel/intern/world.c
M source/blender/editors/space_outliner/outliner_collections.c
M source/blender/editors/space_outliner/outliner_edit.c
M source/blender/makesrna/intern/rna_access.c
M source/blender/python/intern/bpy_rna_id_collection.c
M source/blender/windowmanager/intern/wm.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_topbar.py b/release/scripts/startup/bl_ui/space_topbar.py
index 45460a1a5de..255b6326416 100644
--- a/release/scripts/startup/bl_ui/space_topbar.py
+++ b/release/scripts/startup/bl_ui/space_topbar.py
@@ -248,34 +248,7 @@ class TOPBAR_MT_file_cleanup(Menu):
layout = self.layout
layout.separator()
- op_props = layout.operator("outliner.orphans_purge", text="Unused Data-Blocks")
- op_props.do_local_ids = True
- op_props.do_linked_ids = True
- op_props.do_recursive = False
- op_props = layout.operator("outliner.orphans_purge", text="Recursive Unused Data-Blocks")
- op_props.do_local_ids = True
- op_props.do_linked_ids = True
- op_props.do_recursive = True
-
- layout.separator()
- op_props = layout.operator("outliner.orphans_purge", text="Unused Linked Data-Blocks")
- op_props.do_local_ids = False
- op_props.do_linked_ids = True
- op_props.do_recursive = False
- op_props = layout.operator("outliner.orphans_purge", text="Recursive Unused Linked Data-Blocks")
- op_props.do_local_ids = False
- op_props.do_linked_ids = True
- op_props.do_recursive = True
-
- layout.separator()
- op_props = layout.operator("outliner.orphans_purge", text="Unused Local Data-Blocks")
- op_props.do_local_ids = True
- op_props.do_linked_ids = False
- op_props.do_recursive = False
- op_props = layout.operator("outliner.orphans_purge", text="Recursive Unused Local Data-Blocks")
- op_props.do_local_ids = True
- op_props.do_linked_ids = False
- op_props.do_recursive = True
+ layout.operator("outliner.orphans_purge", text="Unused Data-Blocks")
class TOPBAR_MT_file(Menu):
diff --git a/source/blender/blenkernel/BKE_collection.h b/source/blender/blenkernel/BKE_collection.h
index d15aebfe03d..f35dafa15a8 100644
--- a/source/blender/blenkernel/BKE_collection.h
+++ b/source/blender/blenkernel/BKE_collection.h
@@ -77,6 +77,8 @@ struct Collection *BKE_collection_duplicate(struct Main *bmain,
/* Master Collection for Scene */
struct Collection *BKE_collection_master_add(void);
+struct Scene *BKE_collection_master_scene_search(const struct Main *bmain,
+ const struct Collection *master_collection);
/* Collection Objects */
diff --git a/source/blender/blenkernel/BKE_idtype.h b/source/blender/blenkernel/BKE_idtype.h
index 4578f1c3ca5..edfc96f3059 100644
--- a/source/blender/blenkernel/BKE_idtype.h
+++ b/source/blender/blenkernel/BKE_idtype.h
@@ -95,8 +95,6 @@ typedef void (*IDTypeForeachCacheFunction)(struct ID *id,
IDTypeForeachCacheFunctionCallback function_callback,
void *user_data);
-typedef struct ID *(*IDTypeEmbeddedOwnerGetFunction)(struct Main *bmain, struct ID *id);
-
typedef void (*IDTypeBlendWriteFunction)(struct BlendWriter *writer,
struct ID *id,
const void *id_address);
@@ -183,11 +181,6 @@ typedef struct IDTypeInfo {
*/
IDTypeForeachCacheFunction foreach_cache;
- /**
- * For embedded IDs, return their owner ID.
- */
- IDTypeEmbeddedOwnerGetFunction owner_get;
-
/* ********** Callbacks for reading and writing .blend files. ********** */
/**
diff --git a/source/blender/blenkernel/BKE_lib_query.h b/source/blender/blenkernel/BKE_lib_query.h
index f064d03261d..bdda5bb0372 100644
--- a/source/blender/blenkernel/BKE_lib_query.h
+++ b/source/blender/blenkernel/BKE_lib_query.h
@@ -175,13 +175,6 @@ void BKE_library_ID_test_usages(struct Main *bmain,
bool *is_used_local,
bool *is_used_linked);
-void BKE_lib_query_unused_ids_tag(struct Main *bmain,
- const int tag,
- const bool do_local_ids,
- const bool do_linked_ids,
- const bool do_tag_recursive,
- int *r_num_tagged);
-
void BKE_library_unused_linked_data_set_tag(struct Main *bmain, const bool do_init_tag);
void BKE_library_indirectly_used_data_tag_clear(struct Main *bmain);
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index 71a1de35da1..397a6e40095 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -442,6 +442,7 @@ struct bNodeTree *ntreeCopyTree(struct Main *bmain, const struct bNodeTree *ntre
struct bNodeTree **BKE_ntree_ptr_from_id(struct ID *id);
struct bNodeTree *ntreeFromID(struct ID *id);
+struct ID *BKE_node_tree_find_owner_ID(struct Main *bmain, struct bNodeTree *ntree);
void ntreeFreeLocalNode(struct bNodeTree *ntree, struct bNode *node);
void ntreeFreeLocalTree(struct bNodeTree *ntree);
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index 06b8bd5f0f2..94680dc5c0c 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -303,7 +303,6 @@ IDTypeInfo IDType_ID_AC = {
.make_local = NULL,
.foreach_id = action_foreach_id,
.foreach_cache = NULL,
- .owner_get = NULL,
.blend_write = action_blend_write,
.blend_read_data = action_blend_read_data,
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index 83aab758f86..a59ead84aca 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -324,7 +324,6 @@ IDTypeInfo IDType_ID_AR = {
.make_local = NULL,
.foreach_id = armature_foreach_id,
.foreach_cache = NULL,
- .owner_get = NULL,
.blend_write = armature_blend_write,
.blend_read_data = armature_blend_read_data,
diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c
index 13ba1957a32..59ff59b82e0 100644
--- a/source/blender/blenkernel/intern/brush.c
+++ b/source/blender/blenkernel/intern/brush.c
@@ -403,7 +403,6 @@ IDTypeInfo IDType_ID_BR = {
.make_local = brush_make_local,
.foreach_id = brush_foreach_id,
.foreach_cache = NULL,
- .owner_get = NULL,
.blend_write = brush_blend_write,
.blend_read_data = brush_blend_read_data,
diff --git a/source/blender/blenkernel/intern/cachefile.c b/source/blender/blenkernel/intern/cachefile.c
index d233022fd3f..1e2139522f1 100644
--- a/source/blender/blenkernel/intern/cachefile.c
+++ b/source/blender/blenkernel/intern/cachefile.c
@@ -135,7 +135,6 @@ IDTypeInfo IDType_ID_CF = {
.make_local = NULL,
.foreach_id = NULL,
.foreach_cache = NULL,
- .owner_get = NULL,
.blend_write = cache_file_blend_write,
.blend_read_data = cache_file_blend_read_data,
diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c
index bab9e2a5592..b0e3743add1 100644
--- a/source/blender/blenkernel/intern/camera.c
+++ b/source/blender/blenkernel/intern/camera.c
@@ -196,7 +196,6 @@ IDTypeInfo IDType_ID_CA = {
.make_local = camera_make_local,
.foreach_id = camera_foreach_id,
.foreach_cache = NULL,
- .owner_get = NULL,
.blend_write = camera_blend_write,
.blend_read_data = camera_blend_read_data,
diff --git a/source/blender/blenkernel/intern/collection.c b/source/blender/blenkernel/intern/collection.c
index 28b91dcc8ce..dd0572f9b12 100644
--- a/source/blender/blenkernel/intern/collection.c
+++ b/source/blender/blenkernel/intern/collection.c
@@ -172,26 +172,6 @@ static void collection_foreach_id(ID *id, LibraryForeachIDData *data)
}
}
-static ID *collection_owner_get(Main *bmain, ID *id)
-{
- if ((id->flag & LIB_EMBEDDED_DATA) == 0) {
- return id;
- }
- BLI_assert((id->tag & LIB_TAG_NO_MAIN) == 0);
-
- Collection *master_collection = (Collection *)id;
- BLI_assert((master_collection->flag & COLLECTION_IS_MASTER) != 0);
-
- for (Scene *scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
- if (scene->master_collection == master_collection) {
- return &scene->id;
- }
- }
-
- BLI_assert(!"Embedded collection with no owner. Critical Main inconsistency.");
- return NULL;
-}
-
void BKE_collection_blend_write_nolib(BlendWriter *writer, Collection *collection)
{
BKE_id_blend_write(writer, &collection->id);
@@ -375,7 +355,6 @@ IDTypeInfo IDType_ID_GR = {
.make_local = NULL,
.foreach_id = collection_foreach_id,
.foreach_cache = NULL,
- .owner_get = collection_owner_get,
.blend_write = collection_blend_write,
.blend_read_data = collection_blend_read_data,
@@ -860,6 +839,19 @@ Collection *BKE_collection_master_add()
return master_collection;
}
+Scene *BKE_collection_master_scene_search(const Main *bmain, const Collection *master_collection)
+{
+ BLI_assert((master_collection->flag & COLLECTION_IS_MASTER) != 0);
+
+ for (Scene *scene = bmain->scenes.first; scene != NULL; scene = scene->id.next) {
+ if (scene->master_collection == master_collection) {
+ return scene;
+ }
+ }
+
+ return NULL;
+}
+
/** \} */
/* -------------------------------------------------------------------- */
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index f3551c98f07..f4485b2565e 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -320,7 +320,6 @@ IDTypeInfo IDType_ID_CU = {
.make_local = NULL,
.foreach_id = curve_foreach_id,
.foreach_cache = NULL,
- .owner_get = NULL,
.blend_write = curve_blend_write,
.blend_read_data = curve_blend_read_data,
diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c
index febc9e24c9f..25a0259abe3 100644
--- a/source/blender/blenkernel/intern/font.c
+++ b/source/blender/blenkernel/intern/font.c
@@ -169,7 +169,6 @@ IDTypeInfo IDType_ID_VF = {
.make_local = NULL,
.foreach_id = NULL,
.foreach_cache = N
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list