File tree Expand file tree Collapse file tree 1 file changed +3
-11
lines changed Expand file tree Collapse file tree 1 file changed +3
-11
lines changed Original file line number Diff line number Diff line change @@ -1180,7 +1180,7 @@ static void args_to_pairs(Arg args[], mlval list)
1180
1180
break ;
1181
1181
1182
1182
case mlw_x_arg_unboxed :
1183
- mlw_ref_update (ref , (mlval )args [nr_args ].value );
1183
+ mlw_ref_update (ref , (mlval )* ( XtArgVal * ) args [nr_args ].value );
1184
1184
break ;
1185
1185
1186
1186
default :
@@ -1885,23 +1885,15 @@ static mlval widget_values_set(mlval argument)
1885
1885
static mlval widget_values_get (mlval argument )
1886
1886
{
1887
1887
Arg args [MAX_NR_ARGS ];
1888
+ XtArgVal vals [MAX_NR_ARGS ];
1888
1889
Cardinal nr_args , i ;
1889
1890
mlval list = FIELD (argument , 1 );
1890
1891
1891
1892
pairs_to_args (args , & nr_args , list );
1892
1893
for (i = 0 ; i < nr_args ; ++ i ) {
1893
- XtArgVal tmp = (XtArgVal )XtMalloc (sizeof (XtArgVal ));
1894
- if (tmp == 0 )
1895
- error ("widget_values_get: malloc failed" , 0 , 0 );
1896
- else
1897
- args [i ].value = tmp ;
1894
+ args [i ].value = (XtArgVal )& vals [i ];
1898
1895
}
1899
1896
XtGetValues ((Widget )FIELD (argument , 0 ), args , nr_args );
1900
- for (i = 0 ; i < nr_args ; ++ i ) {
1901
- XtArgVal * tmp = (XtArgVal * )args [i ].value ;
1902
- args [i ].value = * tmp ;
1903
- XtFree ((char * )tmp );
1904
- }
1905
1897
args_to_pairs (args , list );
1906
1898
1907
1899
return (MLUNIT );
You can’t perform that action at this time.
0 commit comments