PyAPI - setting a buttons string value crashed. suspect this is a 64bit problem since replacing the string length of int, with Py_ssize_t or long prevented the crash. worked around the problem by removing the PyString_AsStringAndSize command.

wizard_curve2tree - removing id properties didnt work. exit button used a callback it didnt need to.
This commit is contained in:
Campbell Barton 2008-04-04 23:12:20 +00:00
parent c3905009c4
commit 8fdfd4cc4c
2 changed files with 4 additions and 6 deletions

@ -3537,7 +3537,7 @@ def do_pref_clear(e,v):
return
for ob in objects:
try: del idprop[ID_SLOT_NAME]
try: del ob.properties[ID_SLOT_NAME]
except: pass
def do_tex_check(e,v):
@ -3989,7 +3989,7 @@ def gui():
# ---------- ---------- ---------- ----------
Blender.Draw.BeginAlign()
Draw.PushButton('Exit', EVENT_EXIT, xtmp, y, but_width, but_height, '', do_active_image); xtmp += but_width;
Draw.PushButton('Exit', EVENT_EXIT, xtmp, y, but_width, but_height, ''); xtmp += but_width;
Draw.PushButton('Generate from selection', EVENT_REDRAW, xtmp, y, but_width*3, but_height, 'Generate mesh', do_tree_generate); xtmp += but_width*3;
Blender.Draw.EndAlign()
y-=but_height+MARGIN

@ -532,10 +532,8 @@ static int Button_setattr( PyObject * self, char *name, PyObject * v )
return 0;
}
else if( but->type == BSTRING_TYPE && PyString_Check(v) ) {
char *newstr;
unsigned int newlen;
PyString_AsStringAndSize( v, &newstr, (int *)&newlen );
char *newstr = PyString_AsString(v);
int newlen = strlen(newstr);
if (newlen+1> UI_MAX_DRAW_STR)
return EXPP_ReturnIntError( PyExc_ValueError, "Error: button string length exceeded max limit (399 chars).");