Revision: 41517
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=41517
Author: campbellbarton
Date: 2011-11-04 09:14:49 +0000 (Fri, 04 Nov 2011)
Log Message:
-----------
cleanup some BLF macros and dont over-alloc BGE's PyObjectPlus when setting
strings (better change then the one I made recently).
Modified Paths:
--------------
trunk/blender/source/blender/blenfont/intern/blf_font.c
trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp
Modified: trunk/blender/source/blender/blenfont/intern/blf_font.c
===================================================================
--- trunk/blender/source/blender/blenfont/intern/blf_font.c 2011-11-04
09:02:10 UTC (rev 41516)
+++ trunk/blender/source/blender/blenfont/intern/blf_font.c 2011-11-04
09:14:49 UTC (rev 41517)
@@ -122,36 +122,37 @@
/* Note,
* blf_font_ensure_ascii_table(font); must be called before this macro */
-#define BLF_UTF8_NEXT_FAST(font, g, str, i, c, glyph_ascii_table) \
- if(((c)= (str)[i]) < 0x80) {
\
- g= (glyph_ascii_table)[c];
\
- i++;
\
+#define BLF_UTF8_NEXT_FAST(_font, _g, _str, _i, _c, _glyph_ascii_table) \
+ if(((_c)= (_str)[_i]) < 0x80) {
\
+ _g= (_glyph_ascii_table)[_c];
\
+ _i++;
\
}
\
- else if ((c= BLI_str_utf8_as_unicode_step((str), &(i))) !=
BLI_UTF8_ERR) { \
- if ((g= blf_glyph_search((font)->glyph_cache, c)) == NULL) {
\
- g= blf_glyph_add(font, FT_Get_Char_Index((font)->face,
c), c); \
+ else if ((_c= BLI_str_utf8_as_unicode_step(_str, &(_i)))!=BLI_UTF8_ERR)
{ \
+ if ((_g= blf_glyph_search((_font)->glyph_cache, _c)) == NULL) {
\
+ _g= blf_glyph_add(_font,
\
+ FT_Get_Char_Index((_font)->face, _c),
_c); \
}
\
}
\
#define BLF_KERNING_VARS(_font, _has_kerning, _kern_mode) \
- const short has_kerning= FT_HAS_KERNING((_font)->face);
\
- const FT_UInt kern_mode= (has_kerning == 0) ? 0 :
\
+ const short _has_kerning= FT_HAS_KERNING((_font)->face);
\
+ const FT_UInt _kern_mode= (_has_kerning == 0) ? 0 :
\
(((_font)->flags & BLF_KERNING_DEFAULT) ?
\
ft_kerning_default : FT_KERNING_UNFITTED)
\
-#define BLF_KERNING_STEP(_font, kern_mode, g_prev, g, delta, pen_x) \
+#define BLF_KERNING_STEP(_font, _kern_mode, _g_prev, _g, _delta, _pen_x) \
{ \
- if (g_prev) {
\
- delta.x= delta.y= 0;
\
+ if (_g_prev) {
\
+ _delta.x= _delta.y= 0;
\
if (FT_Get_Kerning((_font)->face,
\
- (g_prev)->idx,
\
- (g)->idx,
\
- kern_mode,
\
- &(delta)) == 0)
\
+ (_g_prev)->idx,
\
+ (_g)->idx,
\
+ _kern_mode,
\
+ &(_delta)) == 0)
\
{
\
- pen_x += delta.x >> 6;
\
+ _pen_x += delta.x >> 6;
\
}
\
}
\
} \
Modified: trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp
===================================================================
--- trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp
2011-11-04 09:02:10 UTC (rev 41516)
+++ trunk/blender/source/gameengine/Expressions/PyObjectPlus.cpp
2011-11-04 09:14:49 UTC (rev 41517)
@@ -1042,8 +1042,8 @@
else if (val_len >
attrdef->m_imax)
{
// trim the string
- *var = val;
var->SetLength(attrdef->m_imax);
+ memcpy(var->Ptr(), val,
attrdef->m_imax - 1);
break;
}
} else if (val_len < attrdef->m_imin ||
val_len > attrdef->m_imax)
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs