[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