[Bf-blender-cvs] [1a8727f] free-refcount-ids: Free IDs: vfont & text.
Bastien Montagne
noreply at git.blender.org
Thu Oct 1 17:44:21 CEST 2015
Commit: 1a8727fea0fea8ca59e18d522439786cd18acf4e
Author: Bastien Montagne
Date: Thu Oct 1 16:34:09 2015 +0200
Branches: free-refcount-ids
https://developer.blender.org/rB1a8727fea0fea8ca59e18d522439786cd18acf4e
Free IDs: vfont & text.
===================================================================
M source/blender/blenkernel/BKE_font.h
M source/blender/blenkernel/BKE_text.h
M source/blender/blenkernel/intern/font.c
M source/blender/blenkernel/intern/library.c
M source/blender/blenkernel/intern/text.c
===================================================================
diff --git a/source/blender/blenkernel/BKE_font.h b/source/blender/blenkernel/BKE_font.h
index 1376702..18bc22b 100644
--- a/source/blender/blenkernel/BKE_font.h
+++ b/source/blender/blenkernel/BKE_font.h
@@ -78,7 +78,7 @@ bool BKE_vfont_is_builtin(struct VFont *vfont);
void BKE_vfont_builtin_register(void *mem, int size);
void BKE_vfont_free_data(struct VFont *vfont);
-void BKE_vfont_free(struct VFont *sc);
+void BKE_vfont_free(struct VFont *sc, const bool do_id_user);
struct VFont *BKE_vfont_builtin_get(void);
struct VFont *BKE_vfont_load(struct Main *bmain, const char *name);
diff --git a/source/blender/blenkernel/BKE_text.h b/source/blender/blenkernel/BKE_text.h
index a5a59d1..6350563 100644
--- a/source/blender/blenkernel/BKE_text.h
+++ b/source/blender/blenkernel/BKE_text.h
@@ -41,7 +41,7 @@ struct Main;
struct Text;
struct TextLine;
-void BKE_text_free (struct Text *text);
+void BKE_text_free (struct Text *text, const bool do_id_user);
void txt_set_undostate (int u);
int txt_get_undostate (void);
struct Text *BKE_text_add (struct Main *bmain, const char *name);
diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c
index 23261b6..7f9734d 100644
--- a/source/blender/blenkernel/intern/font.c
+++ b/source/blender/blenkernel/intern/font.c
@@ -95,10 +95,8 @@ void BKE_vfont_free_data(struct VFont *vfont)
}
}
-void BKE_vfont_free(struct VFont *vf)
+void BKE_vfont_free(struct VFont *vf, const bool UNUSED(do_id_user))
{
- if (vf == NULL) return;
-
BKE_vfont_free_data(vf);
if (vf->packedfile) {
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index a3e945c..b824396 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -991,10 +991,10 @@ void BKE_libblock_free_ex(Main *bmain, void *idv, bool do_id_user)
BKE_screen_free((bScreen *)id, do_id_user);
break;
case ID_VF:
- BKE_vfont_free((VFont *)id);
+ BKE_vfont_free((VFont *)id, do_id_user);
break;
case ID_TXT:
- BKE_text_free((Text *)id);
+ BKE_text_free((Text *)id, do_id_user);
break;
case ID_SCRIPT:
/* deprecated */
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index 77d6043..d360cd4 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -152,7 +152,7 @@ static void init_undo_text(Text *text)
text->undo_buf = MEM_mallocN(text->undo_len, "undo buf");
}
-void BKE_text_free(Text *text)
+void BKE_text_free(Text *text, const bool UNUSED(do_id_user))
{
TextLine *tmp;
@@ -164,10 +164,10 @@ void BKE_text_free(Text *text)
BLI_freelistN(&text->lines);
- if (text->name) MEM_freeN(text->name);
- MEM_freeN(text->undo_buf);
+ MEM_SAFE_FREE(text->name);
+ MEM_SAFE_FREE(text->undo_buf);
#ifdef WITH_PYTHON
- if (text->compiled) BPY_text_free_code(text);
+ BPY_text_free_code(text);
#endif
}
More information about the Bf-blender-cvs
mailing list