[Bf-blender-cvs] [e20f357] master: Text3d: error in own recent fix for thread safety

Campbell Barton noreply at git.blender.org
Sun Jan 5 11:15:39 CET 2014


Commit: e20f357cc2955071d4505f7f4b3bce965484884e
Author: Campbell Barton
Date:   Sun Jan 5 20:00:03 2014 +1100
https://developer.blender.org/rBe20f357cc2955071d4505f7f4b3bce965484884e

Text3d: error in own recent fix for thread safety

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

M	source/blender/blenkernel/intern/font.c

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

diff --git a/source/blender/blenkernel/intern/font.c b/source/blender/blenkernel/intern/font.c
index 222251f..0fddce5 100644
--- a/source/blender/blenkernel/intern/font.c
+++ b/source/blender/blenkernel/intern/font.c
@@ -598,9 +598,21 @@ makebreak:
 		}
 
 		vfont = which_vfont(cu, info);
-		
+
 		if (vfont == NULL) break;
 
+		if (vfont != oldvfont) {
+			vfd = vfont_get_data(bmain, vfont);
+			oldvfont = vfont;
+		}
+
+		/* VFont Data for VFont couldn't be found */
+		if (!vfd) {
+			MEM_freeN(chartransdata);
+			chartransdata = NULL;
+			goto finally;
+		}
+
 		if (!ELEM(ascii, '\n', '\0')) {
 			BLI_rw_mutex_lock(&vfont_rwlock, THREAD_LOCK_READ);
 			che = find_vfont_char(vfd, ascii);
@@ -629,25 +641,6 @@ makebreak:
 			che = NULL;
 		}
 
-		/* No VFont found */
-		if (vfont == NULL) {
-			MEM_freeN(chartransdata);
-			chartransdata = NULL;
-			goto finally;
-		}
-
-		if (vfont != oldvfont) {
-			vfd = vfont_get_data(bmain, vfont);
-			oldvfont = vfont;
-		}
-
-		/* VFont Data for VFont couldn't be found */
-		if (!vfd) {
-			MEM_freeN(chartransdata);
-			chartransdata = NULL;
-			goto finally;
-		}
-
 		twidth = char_width(cu, che, info);
 
 		/* Calculate positions */




More information about the Bf-blender-cvs mailing list