Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/blenkernel/intern/text.c5
-rw-r--r--source/blender/editors/space_text/text_ops.c6
-rw-r--r--source/blender/makesrna/intern/rna_main_api.c2
3 files changed, 10 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index b922aabc171..056229ceb1c 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -166,6 +166,8 @@ Text *BKE_text_add(Main *bmain, const char *name)
Text *ta;
ta = BKE_libblock_alloc(bmain, ID_TXT, name, 0);
+ /* Texts always have 'real' user (see also read code). */
+ id_us_ensure_real(&ta->id);
BKE_text_init(ta);
@@ -354,7 +356,8 @@ Text *BKE_text_load_ex(Main *bmain, const char *file, const char *relpath, const
}
ta = BKE_libblock_alloc(bmain, ID_TXT, BLI_path_basename(filepath_abs), 0);
- ta->id.us = 0;
+ /* Texts always have 'real' user (see also read code). */
+ id_us_ensure_real(&ta->id);
BLI_listbase_clear(&ta->lines);
ta->curl = ta->sell = NULL;
diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c
index 4992a73f936..8f7bd83cbf4 100644
--- a/source/blender/editors/space_text/text_ops.c
+++ b/source/blender/editors/space_text/text_ops.c
@@ -241,6 +241,8 @@ static int text_new_exec(bContext *C, wmOperator *UNUSED(op))
PropertyRNA *prop;
text = BKE_text_add(bmain, "Text");
+ /* Texts have no user by default... Only the 'real' user flag. */
+ id_us_min(&text->id);
/* hook into UI */
UI_context_active_but_prop_get_templateID(C, &ptr, &prop);
@@ -307,6 +309,8 @@ static int text_open_exec(bContext *C, wmOperator *op)
RNA_string_get(op->ptr, "filepath", str);
text = BKE_text_load_ex(bmain, str, BKE_main_blendfile_path(bmain), internal);
+ /* Texts have no user by default... Only the 'real' user flag. */
+ id_us_min(&text->id);
if (!text) {
if (op->customdata) {
@@ -322,8 +326,6 @@ static int text_open_exec(bContext *C, wmOperator *op)
/* hook into UI */
pprop = op->customdata;
- id_us_ensure_real(&text->id);
-
if (pprop->prop) {
RNA_id_pointer_create(&text->id, &idptr);
RNA_property_pointer_set(&pprop->ptr, pprop->prop, idptr, NULL);
diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c
index d7acbb40bb8..fec991e16da 100644
--- a/source/blender/makesrna/intern/rna_main_api.c
+++ b/source/blender/makesrna/intern/rna_main_api.c
@@ -555,6 +555,8 @@ static Text *rna_Main_texts_load(Main *bmain,
errno = 0;
txt = BKE_text_load_ex(bmain, filepath, BKE_main_blendfile_path(bmain), is_internal);
+ /* Texts have no user by default... Only the 'real' user flag. */
+ id_us_min(&txt->id);
if (!txt) {
BKE_reportf(reports,