diff options
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/src/interface.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/src/interface.c b/source/blender/src/interface.c index 0209607d2e5..55605e9154e 100644 --- a/source/blender/src/interface.c +++ b/source/blender/src/interface.c @@ -3337,8 +3337,15 @@ static void ui_set_but_val(uiBut *but, double value) } else if( but->pointype==CHA ) *((char *)poin)= (char)value; - else if( but->pointype==SHO ) - *((short *)poin)= (short)value; + else if( but->pointype==SHO ) { + /* gcc 3.2.1 seems to have problems + * casting a double like 32772.0 to + * a short so we cast to an int, then + to a short */ + int gcckludge; + gcckludge = (int) value; + *((short *)poin)= (short) gcckludge; + } else if( but->pointype==INT ) *((int *)poin)= (int)value; else if( but->pointype==FLO ) |