[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25252] trunk/blender/source/blender: Fix #20245: datablock names allowed entering 22 characters but can
Brecht Van Lommel
brecht at blender.org
Wed Dec 9 19:03:44 CET 2009
Revision: 25252
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25252
Author: blendix
Date: 2009-12-09 19:03:44 +0100 (Wed, 09 Dec 2009)
Log Message:
-----------
Fix #20245: datablock names allowed entering 22 characters but can
only accept 21.
Modified Paths:
--------------
trunk/blender/source/blender/editors/interface/interface_handlers.c
trunk/blender/source/blender/makesrna/intern/rna_access.c
Modified: trunk/blender/source/blender/editors/interface/interface_handlers.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_handlers.c 2009-12-09 17:53:52 UTC (rev 25251)
+++ trunk/blender/source/blender/editors/interface/interface_handlers.c 2009-12-09 18:03:44 UTC (rev 25252)
@@ -1079,9 +1079,9 @@
uiStyleFontSet(&style->widget);
- origstr= MEM_callocN(sizeof(char)*(data->maxlen+1), "ui_textedit origstr");
+ origstr= MEM_callocN(sizeof(char)*data->maxlen, "ui_textedit origstr");
- BLI_strncpy(origstr, but->drawstr, data->maxlen+1);
+ BLI_strncpy(origstr, but->drawstr, data->maxlen);
but->pos= strlen(origstr)-but->ofs;
/* XXX solve generic */
@@ -1130,7 +1130,7 @@
changed= ui_textedit_delete_selection(but, data);
len= strlen(str);
- if(len < data->maxlen) {
+ if(len+1 < data->maxlen) {
for(x= data->maxlen; x>but->pos; x--)
str[x]= str[x-1];
str[but->pos]= ascii;
@@ -1365,7 +1365,7 @@
for (y=0; y<strlen(buf); y++)
{
/* add contents of buffer */
- if(len < data->maxlen) {
+ if(len+1 < data->maxlen) {
for(x= data->maxlen; x>but->pos; x--)
str[x]= str[x-1];
str[but->pos]= buf[y];
@@ -1411,8 +1411,8 @@
/* retrieve string */
data->maxlen= ui_get_but_string_max_length(but);
- data->str= MEM_callocN(sizeof(char)*(data->maxlen+1), "textedit str");
- ui_get_but_string(but, data->str, data->maxlen+1);
+ data->str= MEM_callocN(sizeof(char)*data->maxlen, "textedit str");
+ ui_get_but_string(but, data->str, data->maxlen);
data->origstr= BLI_strdup(data->str);
data->selextend= 0;
Modified: trunk/blender/source/blender/makesrna/intern/rna_access.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_access.c 2009-12-09 17:53:52 UTC (rev 25251)
+++ trunk/blender/source/blender/makesrna/intern/rna_access.c 2009-12-09 18:03:44 UTC (rev 25252)
@@ -885,6 +885,7 @@
*precision= (float)fprop->precision;
}
+/* this is the max length including \0 terminator */
int RNA_property_string_maxlength(PropertyRNA *prop)
{
StringPropertyRNA *sprop= (StringPropertyRNA*)rna_ensure_property(prop);
@@ -1588,6 +1589,7 @@
return buf;
}
+/* this is the length without \0 terminator */
int RNA_property_string_length(PointerRNA *ptr, PropertyRNA *prop)
{
StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
More information about the Bf-blender-cvs
mailing list