[Bf-blender-cvs] [d75bca1] master: Cleanup: replace more direct id->us handling by calls to BKE_library API.

Bastien Montagne noreply at git.blender.org
Wed Nov 11 20:21:50 CET 2015


Commit: d75bca1842fcea6af3f8b398b498d3e4ab91dbc5
Author: Bastien Montagne
Date:   Wed Nov 11 20:18:50 2015 +0100
Branches: master
https://developer.blender.org/rBd75bca1842fcea6af3f8b398b498d3e4ab91dbc5

Cleanup: replace more direct id->us handling by calls to BKE_library API.

===================================================================

M	source/blender/blenkernel/intern/brush.c
M	source/blender/blenkernel/intern/image.c
M	source/blender/blenkernel/intern/text.c
M	source/blender/editors/object/object_relations.c
M	source/blender/editors/space_node/node_draw.c
M	source/blender/editors/space_sequencer/sequencer_add.c

===================================================================

diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c
index 92ab4d7..166c2b2 100644
--- a/source/blender/blenkernel/intern/brush.c
+++ b/source/blender/blenkernel/intern/brush.c
@@ -281,7 +281,7 @@ void BKE_brush_make_local(Brush *brush)
 	}
 	else if (is_local && is_lib) {
 		Brush *brush_new = BKE_brush_copy(brush);  /* Ensures FAKE_USER is set */
-		brush_new->id.us = 1; /* only keep fake user */
+		id_us_min(&brush_new->id);  /* Remove user added by standard BKE_libblock_copy(). */
 
 		/* Remap paths of new ID using old library as base. */
 		BKE_id_lib_local_paths(bmain, brush->id.lib, &brush_new->id);
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index 9dabe6b..5f2629b 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -585,9 +585,7 @@ void BKE_image_make_local(struct Image *ima)
 						for (a = 0; a < me->totface; a++, tface++) {
 							if (tface->tpage == ima) {
 								tface->tpage = ima_new;
-								if (ima_new->id.us == 0) {
-									tface->tpage->id.us = 1;
-								}
+								id_us_ensure_real((ID *)ima_new);
 								id_lib_extern((ID *)ima_new);
 							}
 						}
@@ -606,9 +604,7 @@ void BKE_image_make_local(struct Image *ima)
 						for (a = 0; a < me->totpoly; a++, mtpoly++) {
 							if (mtpoly->tpage == ima) {
 								mtpoly->tpage = ima_new;
-								if (ima_new->id.us == 0) {
-									mtpoly->tpage->id.us = 1;
-								}
+								id_us_ensure_real((ID *)ima_new);
 								id_lib_extern((ID *)ima_new);
 							}
 						}
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index 6e41ed3..988da05 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -428,7 +428,6 @@ Text *BKE_text_load_ex(Main *bmain, const char *file, const char *relpath, const
 	}
 
 	ta = BKE_libblock_alloc(bmain, ID_TXT, BLI_path_basename(str));
-	ta->id.us = 1;
 
 	BLI_listbase_clear(&ta->lines);
 	ta->curl = ta->sell = NULL;
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index a89ef8b..4bb541b 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -2184,10 +2184,7 @@ static bool make_local_all__instance_indirect_unused(Main *bmain, Scene *scene)
 		if (ob->id.lib && (ob->id.us == 0)) {
 			Base *base;
 
-			ob->id.us = 1;
-
-			/* not essential, but for correctness */
-			id_lib_extern(&ob->id);
+			id_us_plus(&ob->id);
 
 			base = BKE_scene_base_add(scene, ob);
 			base->flag |= SELECT;
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c
index 283457d..b4ab516 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -45,6 +45,7 @@
 
 #include "BKE_context.h"
 #include "BKE_depsgraph.h"
+#include "BKE_library.h"
 #include "BKE_main.h"
 #include "BKE_node.h"
 
@@ -85,9 +86,7 @@ void ED_node_tree_update(const bContext *C)
 	if (snode) {
 		snode_set_context(C);
 
-		if (snode->nodetree && snode->nodetree->id.us == 0) {
-			snode->nodetree->id.us = 1;
-		}
+		id_us_ensure_real(&snode->nodetree->id);
 	}
 }
 
diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c
index ce03c24..64b2875 100644
--- a/source/blender/editors/space_sequencer/sequencer_add.c
+++ b/source/blender/editors/space_sequencer/sequencer_add.c
@@ -44,6 +44,7 @@
 
 #include "BKE_context.h"
 #include "BKE_global.h"
+#include "BKE_library.h"
 #include "BKE_main.h"
 #include "BKE_sequencer.h"
 #include "BKE_movieclip.h"
@@ -385,8 +386,7 @@ static int sequencer_add_movieclip_strip_exec(bContext *C, wmOperator *op)
 	seq->blend_mode = SEQ_TYPE_CROSS;
 	seq->clip = clip;
 
-	if (seq->clip->id.us == 0)
-		seq->clip->id.us = 1;
+	id_us_ensure_real(&seq->clip->id);
 
 	/* basic defaults */
 	seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");
@@ -470,8 +470,7 @@ static int sequencer_add_mask_strip_exec(bContext *C, wmOperator *op)
 	seq->blend_mode = SEQ_TYPE_CROSS;
 	seq->mask = mask;
 
-	if (seq->mask->id.us == 0)
-		seq->mask->id.us = 1;
+	id_us_ensure_real(&seq->mask->id);
 
 	/* basic defaults */
 	seq->strip = strip = MEM_callocN(sizeof(Strip), "strip");




More information about the Bf-blender-cvs mailing list