2017-04-11 15:58 GMT+02:00 Paul Gofman <gofmanp(a)gmail.com>:
> Signed-off-by: Paul Gofman <gofmanp(a)gmail.com>
> static struct d3dx_parameter *get_valid_parameter(struct d3dx9_base_effect *base, D3DXHANDLE parameter)
> {
> - struct d3dx_parameter **handle_param = (struct d3dx_parameter **)parameter;
> + struct d3dx_parameter *handle_param = (struct d3dx_parameter *)parameter;
>
> - if (handle_param >= base->param_table.table && handle_param < base->param_table.table + base->param_table.count)
> - return *handle_param;
> + if (handle_param && !strncmp(handle_param->magic_string, parameter_magic_string,
> + sizeof(parameter_magic_string)))
> + return handle_param;
>
> return get_parameter_by_name(base, NULL, parameter);
> }
Not new and somewhat separate from the patch, although it gets "more
interesting" with the new handles scheme: we should probably avoid the
call to get_parameter_by_name() if the effect was created with the
D3DXFX_LARGEADDRESSAWARE flag, returning NULL instead. Worth a test I
think.